gcse.c patch breaks simd-2.c
Aldy Hernandez
aldyh@redhat.com
Wed Apr 9 18:30:00 GMT 2003
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@eyesopen.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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: break.i
Type: application/octet-stream
Size: 472 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20030409/600cdf10/attachment.obj>
More information about the Gcc
mailing list