aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2018-12-14 09:29:34 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2018-12-14 09:29:34 +0100
commit6c4ff3c98c19594ed17f3ad8a3a25a5939e16b30 (patch)
tree773cad404720764a2cf0cfb4e98b28888c8afc86 /gcc/function.c
parentb30bde1063f9b0399d1d06fdc08aec12bb025843 (diff)
downloadgcc-6c4ff3c98c19594ed17f3ad8a3a25a5939e16b30.zip
gcc-6c4ff3c98c19594ed17f3ad8a3a25a5939e16b30.tar.gz
gcc-6c4ff3c98c19594ed17f3ad8a3a25a5939e16b30.tar.bz2
match_asm_constraints: Use copy_rtx where needed (PR88001)
The new insn here (temporarily) illegally shares RTL. This fixes it. PR rtl-optimization/88001 * function.c (match_asm_constraints_1): Don't invalidly share RTL. From-SVN: r267122
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 69523c1..60e96f3 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -6529,7 +6529,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);