This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/19398] secondary reloads don't consider "m" alternatives
- From: "bernds_cb1 at t-online dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Mar 2005 11:44:37 -0000
- Subject: [Bug rtl-optimization/19398] secondary reloads don't consider "m" alternatives
- References: <20050112133406.19398.uros@kss-loka.si>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From bernds_cb1 at t-online dot de 2005-03-15 11:44 -------
Interesting problem. I was temporarily confused by rth's mention of secondary
reloads; it's actually secondary memory that we allocate here. What happens is
1. Notice none of the alternatives fit as-is
2. Decide that we'd like to use the first alternative (accepting "x")
3. Push a reload to move from a register in class "f" to a reloadreg in "x"
4. Notice that we need secondary memory for that
5. Fail to notice that we could just use that secondary memory location in the
insn's other alternative.
Not sure yet how best to fix it. Unlike some other problems with reload, I
think peepholes can take care of this without leaving anything unnecessary behind.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19398