This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/17860] Wrong generated code for loop with varying bound


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]