2017-02-21 Segher Boessenkool <[email protected]>
* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
---
gcc/config/c6x/c6x.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index 84bfdfa..42b773b 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -3800,6 +3800,7 @@ predicate_insn (rtx_insn *insn, rtx cond, bool doit)
{
if (doit)
{
+ cond = copy_rtx (cond);
rtx newpat = gen_rtx_COND_EXEC (VOIDmode, cond, PATTERN (insn));
PATTERN (insn) = newpat;
INSN_CODE (insn) = -1;
--
1.9.3