This is the mail archive of the gcc@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]

gcse.c patch breaks simd-2.c


The patch below is causing the excute/simd-2.c regression. IIRC (Geoff, correct me if I'm wrong), simd-2.c was already failing on PPC, but it was failing on execution, not compilation.

After your gcse.c change, compilation is ICEing with:

	internal compiler error: in reg_overlap_mentioned_p, at rtlanal.c:1635
	Please submit a full bug report,

I thought the problem was mine because of the SIMD changes I made the same day, but after playing CVS games, I narrowed the problem to the gcse.c changes.

Could you take a look at this?

You can reproduce the problem with a powerpc-eabi cross toolchain, and compiling the attached preprocessed file with -O3. I believe the problem is also present in AIX, Darwin, and Linux (all PPC).

Thanks.

+ 2003-04-01  Roger Sayle  <roger at eyesopen dot com>
+
+       PR fortran/9974
+       * gcse.c (reg_killed_on_egde): New function to test whether the
+       given reg is overwritten by any instruction queued on an edge.
+       (bypass_block): Ignore substitutions killed on incoming edges.
+       Don't bypass outgoing edges that have queued instructions.

Attachment: break.i
Description: Binary data


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