[Bug rtl-optimization/20413] New: VOIDmode LABEL_REFs are generated
amylaar at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Mar 10 19:59:00 GMT 2005
Various parts of the compiler generate LABEL_REFS with VOIDmode instead of Pmode.
This can cause some optimizations to be missed because two pieces of code
might be identical, except for the mode of their LABEL_REFS - then they still
compare as non-equal, e.g. for if-conversion or cross-jumping.
For targets that have varying Pmode settings and therefore use jump patterns
that don't specify the mode so that they can match e.g. either SImode of DImode,
the situation is more dire: when reload has to load the label into a register,
it needs the mode of the label_ref to determine the load of the reload.
VOIDmode in this place leads to an ICE, which is likely to prevent building
the gcc support libraries.
--
Summary: VOIDmode LABEL_REFs are generated
Product: gcc
Version: 3.2
Status: UNCONFIRMED
Keywords: ice-on-valid-code, missed-optimization, build
Severity: normal
Priority: P2
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 17652
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20413
More information about the Gcc-bugs
mailing list