* ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
authorJan Hubicka <jh@suse.cz>
Tue, 3 Jul 2007 22:14:27 +0000 (00:14 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 3 Jul 2007 22:14:27 +0000 (22:14 +0000)
From-SVN: r126281

gcc/ChangeLog
gcc/ifcvt.c

index 0267508..371fb6a 100644 (file)
@@ -1,3 +1,7 @@
+2007-07-03  Jan Hubicka  <jh@suse.cz>
+
+       * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
+
 2007-07-03  Eric Christopher  <echristo@apple.com>
 
        * doc/cppopts.texi: Add conflicting option note to -dM.
index dd7764b..8a346bb 100644 (file)
@@ -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;