From f9faf95474a8a0009af1f6fd19097b1e96d8eefc Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 4 Jul 2007 00:14:27 +0200 Subject: [PATCH] * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing. From-SVN: r126281 --- gcc/ChangeLog | 4 ++++ gcc/ifcvt.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0267508..371fb6a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-07-03 Jan Hubicka + + * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing. + 2007-07-03 Eric Christopher * doc/cppopts.texi: Add conflicting option note to -dM. diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index dd7764b..8a346bb 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -3311,8 +3311,8 @@ find_cond_trap (basic_block test_bb, edge then_edge, edge else_edge) } /* Attempt to generate the conditional trap. */ - seq = gen_cond_trap (code, XEXP (cond, 0), - XEXP (cond, 1), + seq = gen_cond_trap (code, copy_rtx (XEXP (cond, 0)), + copy_rtx (XEXP (cond, 1)), TRAP_CODE (PATTERN (trap))); if (seq == NULL) return FALSE; -- 2.7.4