aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2012-10-28 20:02:59 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2012-10-28 20:02:59 +0000
commitc5cd5a7ed3f3a476ed17f2449598e6309cf7956c (patch)
tree888f79b5020c2fcd4c6a06b52d30340a3f6cfc2c /gcc/lra-constraints.c
parent57bf28eab7d3b708b52d4d3f52b0f42966945b8d (diff)
downloadgcc-c5cd5a7ed3f3a476ed17f2449598e6309cf7956c.zip
gcc-c5cd5a7ed3f3a476ed17f2449598e6309cf7956c.tar.gz
gcc-c5cd5a7ed3f3a476ed17f2449598e6309cf7956c.tar.bz2
rtl.h (struct rtx_def): Add a comment for member unchanging.
2012-10-28 Vladimir Makarov <vmakarov@redhat.com> * rtl.h (struct rtx_def): Add a comment for member unchanging. * lra-int.h (LRA_TEMP_CLOBBER_P): New macro. (lra_hard_reg_substitution): Rename to lra_final_code_change. * lra-constraints.c (match_reload): Mark temporary clobbers. * lra-spill.c (lra_hard_reg_substitution): Rename to lra_final_code_change. Remove temporary clobbers. * lra.c (lra): Rename to lra_final_code_change. From-SVN: r192897
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r--gcc/lra-constraints.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 9e4d3b1..4b3dbc0 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -663,7 +663,7 @@ match_reload (signed char out, signed char *ins, enum reg_class goal_class,
rtx *before, rtx *after)
{
int i, in;
- rtx new_in_reg, new_out_reg, reg;
+ rtx new_in_reg, new_out_reg, reg, clobber;
enum machine_mode inmode, outmode;
rtx in_rtx = *curr_id->operand_loc[ins[0]];
rtx out_rtx = *curr_id->operand_loc[out];
@@ -694,8 +694,10 @@ match_reload (signed char out, signed char *ins, enum reg_class goal_class,
new_in_reg = gen_rtx_SUBREG (inmode, reg, 0);
/* NEW_IN_REG is non-paradoxical subreg. We don't want
NEW_OUT_REG living above. We add clobber clause for
- this. */
- emit_clobber (new_out_reg);
+ this. This is just a temporary clobber. We can remove
+ it at the end of LRA work. */
+ clobber = emit_clobber (new_out_reg);
+ LRA_TEMP_CLOBBER_P (PATTERN (clobber)) = 1;
}
}
else