This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/20413] New: VOIDmode LABEL_REFs are generated
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2005 19:58:56 -0000
- Subject: [Bug rtl-optimization/20413] New: VOIDmode LABEL_REFs are generated
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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