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

optimization/1945: flow.c:3790 ICE Patch Prologue contains dead register sets



>Number:         1945
>Category:       optimization
>Synopsis:       flow.c:3790 ICE Patch Prologue contains dead register sets
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 12 04:26:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     shane@agendacomputing.com
>Release:        gcc CVS
>Organization:
>Environment:
Compiling cross compiler on i686 for mipsel-linux
>Description:
The RTL generated by
thread_prologue_and_epilogue_insns (insns);
for the prologue contains dead instructions.  In particular
register sets.  The compiler in its present state ICEs, I'm
not sure this is correct behaviour since it depends on the
REG_MAYBE_DEAD flag for proper behaviour which is never set.

I have attached a tar file with two patches, one is an "aggressive" patch,
prepended with "agg", which just changes the ICE to a warning.
The other patch has the same name minus the prepending "agg"
which basically cuts out optimization during threading and
life_analysis of the prologue.

I have not encountered problems with either of these patches
while using them on a mipsel machine which uses the affected
function calls in libstdc++.  (14 warnings are generated from
the agg-* patch, which has been attached as well)

These patches are only short term solutions, I'm sure there
is a good reason for that ICE to be triggered.  Long term
solutions would probably be:
1) Use the REG_MAYBE_DEAD note properly in life_analysis,
and have it trigerred after_reload on the prologue/epilogue/
sibcall prologue/epilogue.  (aka run some note generation
code on the prologue/epilogue to allow pass through for this
potential ICE)
2) Fix RTL generation for prologue so that it doesn't produce
code which would just be deleted later, or sensed as a bug.
>How-To-Repeat:
Pull down a present CVS copy of GCC, and try to compile
a cross compiler for mipsel-linux with c++ enabled.  I do not think
that this is related to c++ code, but rather just a by product
of the more complex code that is in libstdc++-v3.

Without optimization this error is not triggered, and the
resulting code works fine.
>Fix:
Either patch attached will short term fix the problem.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-tar; name="gcc-prologue-patches.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc-prologue-patches.tar.gz"

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
BRVUUEEFFVRQQQUVVFBBBRU0L/ofx6u8HwBQAAA=


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