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 bootstrap/17484] New: [4.0 regression] bootstrap failure on arm-netbsdelf (iterator test hoisted out of loop)


This bug first appeared sometime between 2004/09/02 and 2004/09/10.

The attached test case is distilled from code in tree-cfg.c and its
miscompilation is causing bootstrap to fail on arm-netbsdelf.  The problem seems
to be that the test on the iterator for termination is being hoisted outside of
a loop.

In the t44 dump we have:


  if (D.14178_51 == 130) goto <L49>; else goto <L50>;

<L50>:;
  goto <bb 11> (<L26>);

<L49>:;

<L19>:;
  i_63 = &bsi_19->tsi;
  D.14241_65 = i_63->ptr;
  D.14242_66 = D.14241_65->next;
  i_63->ptr = D.14242_66;
  i = *bsi_19;
  i$ptr_111 = i.tsi.ptr;
  D.14250_70 = i$ptr_111 == 0B;
  ...
<L53>:;
  goto <bb 9> (<L19>);

but by the time we reach t45 dump this has changed to 

  if (D.14178_51 == 130) goto <L49>; else goto <L50>;

<L50>:;
  goto <bb 11> (<L26>);

<L49>:;
  i_63 = &bsi_19->tsi;
  i = *bsi_19;
  i$ptr_111 = i.tsi.ptr;
  D.14250_70 = i$ptr_111 == 0B;
  D.14247_72 = (unsigned char) D.14250_70;
  D.14245_73 = (int) D.14247_72;
  D.14176_75 = (unsigned char) D.14245_73;
  lsm_tmp.61_27 = i_63->ptr;

  # lsm_tmp.61_56 = PHI <lsm_tmp.61_27(23), lsm_tmp.61_101(27)>;
<L19>:;
  D.14241_65 = lsm_tmp.61_56;
  D.14242_66 = D.14241_65->next;
  ...
<L53>:;
  goto <bb 9> (<L19>);

The problem can be repeated on an arm-elf cross, compiling the attached test
case (partially reduced from tree-cfg.c) with -O2.

-- 
           Summary: [4.0 regression] bootstrap failure on arm-netbsdelf
                    (iterator test hoisted out of loop)
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P1
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rearnsha at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: arm-elf


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


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