------- Comment #8 from dann at godzilla dot ics dot uci dot edu  2008-03-15 
00:28 -------
(In reply to comment #7)
> The testcase is fixed by the SCCVN alias-oracle patch.

Are you sure? I still see the problem (.final_cleanup dump):

void bar(first*, multi*) (s1, s3)
{
<bb 2>:
  s1->f1 = 0;
  s3->f3 = 0;
  s1->f1 = s1->f1 + 1;
  s3->f3 = s3->f3 + 1;
  s1->f1 = s1->f1 + 1;
  s3->f3 = s3->f3 + 1;
  if (s1->f1 != 2)
    goto <bb 3>;
  else
    goto <bb 4>;
<bb 3>:
  link_error () [tail call];
<bb 4>:
  return;
}
void foo(first*, second*) (s1, s2)
{
<bb 2>:
  s1->f1 = 0;
  s2->f2 = 0;
  s1->f1 = s1->f1 + 1;
  s2->f2 = s2->f2 + 1;
  s1->f1 = s1->f1 + 1;
  s2->f2 = s2->f2 + 1;
  if (s1->f1 != 2)
    goto <bb 3>;
  else
    goto <bb 4>;
<bb 3>:
  link_error () [tail call];
<bb 4>:
  return;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13146

Reply via email to