diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2015-09-30 18:51:31 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2015-09-30 18:51:31 +0000 |
commit | 9a9fe2b4d216494a9992a354c337c8b2279c43b8 (patch) | |
tree | ea16b69240bd8a87433b37ab3b9bacde0c5c69b1 /gcc/lra-constraints.c | |
parent | dc0ccbb3a3e60f0423ac69d82f6cb78ff9b10800 (diff) | |
download | gcc-9a9fe2b4d216494a9992a354c337c8b2279c43b8.zip gcc-9a9fe2b4d216494a9992a354c337c8b2279c43b8.tar.gz gcc-9a9fe2b4d216494a9992a354c337c8b2279c43b8.tar.bz2 |
re PR rtl-optimization/67037 (Wrong code at -O1 and above on ARM)
2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/67037
* lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
testsuite:
2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/67037
* gcc.c-torture/execute/pr67037.c: New test.
From-SVN: r228303
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index c6afa7a..7764f29 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -1339,7 +1339,7 @@ process_addr_reg (rtx *loc, bool check_only_p, rtx_insn **before, rtx_insn **aft if (after != NULL) { start_sequence (); - lra_emit_move (reg, new_reg); + lra_emit_move (before_p ? copy_rtx (reg) : reg, new_reg); emit_insn (*after); *after = get_insns (); end_sequence (); |