This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c
- From: "rsandifo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Jun 2007 09:11:57 -0000
- Subject: [Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c
- References: <bug-32437-7151@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from rsandifo at gcc dot gnu dot org 2007-06-22 09:11 -------
I'm not surprised that converting it to an unspec_volatile stops
us from deleting the instruction, but that wasn't really my concern.
As I said earlier, several other ports use top-level unspecs (rather than
unspec_volatiles), and it appears that after the dataflow merge, that construct
is no longer allowed. Thus I think we should first nail down whether this
is a deliberate change. If it is (and I can see that it might be),
then I think we should change the RTL generators so that top-level
unspecs are not allowed in define_insns. I do not think we should the
MIPS port until we have established what the new rules are.
(This isn't an issue about dataflow being more accurate per se;
the old code could also have deleted top-level unspecs with no
register dependencies, if it had thought that doing so was allowed.)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32437