This is the mail archive of the gcc@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]

Re: threading jumps makes niter changed from INTEGER_CST to chrec_dont_know


2010/1/6 Jeff Law <law@redhat.com>:
> Please file a bug report with a complete testcase so that we can see what's
> happening rather than trying to speculate.
>
> jeff
>

Uh, seems this problem doesn't occur on trunk. Because before
pass_dominator, pass_complete_unrolli is able to unroll the following
test case.

void
foo (int x)
{
  int i;

  for (i=0; i < 2 ; i++)
    if (x)
      {
        if (i == 0)
          fun_1 ();
        else
          fun_2 ();
      }
}

I found this problem on gcc-4.4.0. The pass_complete_unrolli doesn't
unroll this loop, but if -fno-tree-dominator-opts is applied,
pass_complete_unroll is able to unroll it.

And pass_dominator does cause the loop's exit bb never dominate its latch bb.

Thanks
Eirc


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