aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/c6x
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2017-02-24 23:32:46 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2017-02-24 23:32:46 +0100
commit015122d8c438b83cb069a6f42fae066cfb4749da (patch)
tree99c1f15078e3a937bb21364f17d232c4971fca1c /gcc/config/c6x
parent4173ddafe21fd49f78a69bc94f0ba4ccde118685 (diff)
downloadgcc-015122d8c438b83cb069a6f42fae066cfb4749da.zip
gcc-015122d8c438b83cb069a6f42fae066cfb4749da.tar.gz
gcc-015122d8c438b83cb069a6f42fae066cfb4749da.tar.bz2
c6x: Fix for RTL checking
* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL. From-SVN: r245721
Diffstat (limited to 'gcc/config/c6x')
-rw-r--r--gcc/config/c6x/c6x.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index f841266..c54d4d1 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -3799,6 +3799,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;