This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Invalid RTL sharing in ifcvt on PPC64 testsuite


On 7/2/07, Jan Hubicka <jh@suse.cz> wrote:
Hi,
find_cond_trap introduce invalid sharing by passing condition stolen
randomly from the RTL instructions into gen_cond_trap.

This shows up on gcc.c-torture on PPC64 with sharing checker.
Bootstrapped/regtsted i686-linux (and ppc-linux with checker in)
OK?

Yes.


Thanks,
Richard.

Honza

        * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
Index: ifcvt.c
===================================================================
--- ifcvt.c     (revision 126141)
+++ ifcvt.c     (working copy)
@@ -3311,8 +3311,8 @@
     }

   /* 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;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]