This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/17860] Wrong generated code for loop with varying bound
- From: "bonzini at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Oct 2004 17:04:39 -0000
- Subject: [Bug rtl-optimization/17860] Wrong generated code for loop with varying bound
- References: <20041006125056.17860.tal.agmon@nsc.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From bonzini at gcc dot gnu dot org 2004-10-06 17:04 -------
It is not fixed. You can mark it as WONTFIX, but it is not reasonable to mark
it as FIXED.
I tried looking at some dumps for this test case, which is even more severe:
extern void abort ();
int
main ()
{
int i;
int foo = 2;
for (i = 0; i < foo; i++)
foo = 0;
if (i != 1)
abort ();
}
If the alias1 pass, which cannot be disabled, wouldn't rewrite "i < foo" to "foo
> i", chances are the test case would still trigger. I'm preparing a patch to
provide -fno-tree-ssa again, hoping that this will make more 3.4 test cases fail
again with 4.0 (GIMPLE would change the input to the RTL optimzation passes a
lot, but hopefully CSE will make things saner again).
Reopening with a target milestone of 3.4.4.
Paolo
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Status|RESOLVED |UNCONFIRMED
Resolution|FIXED |
Summary|Wrong generated code for |Wrong generated code for
|loop with inlined function |loop with varying bound
|inside. |
Target Milestone|4.0.0 |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17860