aboutsummaryrefslogtreecommitdiff
path: root/gcc/regrename.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2015-11-18 12:26:43 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2015-11-18 12:26:43 +0000
commitd085c468179245fdd31c1014d3029ddd9e116e01 (patch)
treececf7a6e31ae97795e1eef1f83c8bb4b39867e0e /gcc/regrename.c
parent98f84050d6e2dd79bf85a1876f3f9ebae41bf926 (diff)
downloadgcc-d085c468179245fdd31c1014d3029ddd9e116e01.zip
gcc-d085c468179245fdd31c1014d3029ddd9e116e01.tar.gz
gcc-d085c468179245fdd31c1014d3029ddd9e116e01.tar.bz2
regrename.h (struct du_head): Add target_data_1 and target_data_2 fields.
* regrename.h (struct du_head): Add target_data_1 and target_data_2 fields. * regrename.c (create_new_chain): Clear entire struct after allocating. * config/i386/i386.opt (mmitigate-rop): New option. * doc/invoke.texi (mmitigate-rop): Document. * config/i386/i386.c: Include "regrename.h". (ix86_rop_should_change_byte_p, reg_encoded_number, ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New static functions. (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop. * config/i386/i386.md (attr "modrm_class"): New. (cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor, x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se) (x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute. From-SVN: r230543
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r--gcc/regrename.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c
index 1f11695..e2a1e83 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -227,13 +227,10 @@ create_new_chain (unsigned this_regno, unsigned this_nregs, rtx *loc,
struct du_chain *this_du;
int nregs;
+ memset (head, 0, sizeof *head);
head->next_chain = open_chains;
head->regno = this_regno;
head->nregs = this_nregs;
- head->need_caller_save_reg = 0;
- head->cannot_rename = 0;
- head->renamed = 0;
- head->tied_chain = NULL;
id_to_chain.safe_push (head);
head->id = current_id++;