]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR rtl-optimization/88001 (ASMCONS cannot handle properly UNSPEC(CONST))
authorSegher Boessenkool <segher@kernel.crashing.org>
Sat, 15 Dec 2018 12:07:42 +0000 (13:07 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Sat, 15 Dec 2018 12:07:42 +0000 (13:07 +0100)
Backport from trunk
2018-12-14  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/88001
* function.c (match_asm_constraints_1): Don't invalidly share RTL.

From-SVN: r267172

gcc/ChangeLog
gcc/function.c

index 1adedcc527ce8af945af3ed32eb06257b8b47e28..fc096324ec293f115c0a3bf0b66b8e9210a87328 100644 (file)
@@ -1,3 +1,11 @@
+2018-12-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       Backport from trunk
+       2018-12-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/88001
+       * function.c (match_asm_constraints_1): Don't invalidly share RTL.
+
 2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>
 
        Backport from mainline
index bde4da073c28e1cb751873d256ed050dcee01404..7df51f29fd86f1ae3049eae2582699c8bc246722 100644 (file)
@@ -6604,7 +6604,7 @@ match_asm_constraints_1 (rtx_insn *insn, rtx *p_sets, int noutputs)
       output_matched[match] = true;
 
       start_sequence ();
-      emit_move_insn (output, input);
+      emit_move_insn (output, copy_rtx (input));
       insns = get_insns ();
       end_sequence ();
       emit_insn_before (insns, insn);