This commit is contained in:
Jakub Jelinek 2014-11-01 09:52:33 +01:00
parent f5f8bc6087
commit 79ac3cdb38

View File

@ -8,14 +8,14 @@
--- gcc/ree.c.jj 2014-10-22 15:52:18.000000000 +0200 --- gcc/ree.c.jj 2014-10-22 15:52:18.000000000 +0200
+++ gcc/ree.c 2014-10-27 19:18:37.287412478 +0100 +++ gcc/ree.c 2014-10-27 19:18:37.287412478 +0100
@@ -266,6 +266,50 @@ typedef struct ext_cand @@ -261,6 +261,50 @@ typedef struct ext_cand
static int max_insn_uid; static int max_insn_uid;
+/* Update or remove REG_EQUAL or REG_EQUIV notes for INSN. */ +/* Update or remove REG_EQUAL or REG_EQUIV notes for INSN. */
+ +
+static bool +static bool
+update_reg_equal_equiv_notes (rtx_insn *insn, enum machine_mode new_mode, +update_reg_equal_equiv_notes (rtx insn, enum machine_mode new_mode,
+ enum machine_mode old_mode, enum rtx_code code) + enum machine_mode old_mode, enum rtx_code code)
+{ +{
+ rtx *loc = &REG_NOTES (insn); + rtx *loc = &REG_NOTES (insn);
@ -59,15 +59,15 @@
/* Given a insn (CURR_INSN), an extension candidate for removal (CAND) /* Given a insn (CURR_INSN), an extension candidate for removal (CAND)
and a pointer to the SET rtx (ORIG_SET) that needs to be modified, and a pointer to the SET rtx (ORIG_SET) that needs to be modified,
this code modifies the SET rtx to a new SET rtx that extends the this code modifies the SET rtx to a new SET rtx that extends the
@@ -287,6 +331,7 @@ static bool @@ -282,6 +326,7 @@ static bool
combine_set_extension (ext_cand *cand, rtx_insn *curr_insn, rtx *orig_set) combine_set_extension (ext_cand *cand, rtx curr_insn, rtx *orig_set)
{ {
rtx orig_src = SET_SRC (*orig_set); rtx orig_src = SET_SRC (*orig_set);
+ enum machine_mode orig_mode = GET_MODE (SET_DEST (*orig_set)); + enum machine_mode orig_mode = GET_MODE (SET_DEST (*orig_set));
rtx new_set; rtx new_set;
rtx cand_pat = PATTERN (cand->insn); rtx cand_pat = PATTERN (cand->insn);
@@ -323,9 +368,8 @@ combine_set_extension (ext_cand *cand, r @@ -318,9 +363,8 @@ combine_set_extension (ext_cand *cand, r
{ {
/* Zero-extend the negative constant by masking out the bits outside /* Zero-extend the negative constant by masking out the bits outside
the source mode. */ the source mode. */
@ -78,7 +78,7 @@
GET_MODE (new_reg)); GET_MODE (new_reg));
new_set = gen_rtx_SET (VOIDmode, new_reg, new_const_int); new_set = gen_rtx_SET (VOIDmode, new_reg, new_const_int);
} }
@@ -364,7 +408,9 @@ combine_set_extension (ext_cand *cand, r @@ -359,7 +403,9 @@ combine_set_extension (ext_cand *cand, r
/* This change is a part of a group of changes. Hence, /* This change is a part of a group of changes. Hence,
validate_change will not try to commit the change. */ validate_change will not try to commit the change. */
@ -89,7 +89,7 @@
{ {
if (dump_file) if (dump_file)
{ {
@@ -414,7 +460,9 @@ transform_ifelse (ext_cand *cand, rtx_in @@ -409,7 +455,9 @@ transform_ifelse (ext_cand *cand, rtx de
ifexpr = gen_rtx_IF_THEN_ELSE (cand->mode, cond, map_srcreg, map_srcreg2); ifexpr = gen_rtx_IF_THEN_ELSE (cand->mode, cond, map_srcreg, map_srcreg2);
new_set = gen_rtx_SET (VOIDmode, map_dstreg, ifexpr); new_set = gen_rtx_SET (VOIDmode, map_dstreg, ifexpr);