Summary: [4.6 Regression]: cris-elf build failure (hangs) due
                    to fix for PR44374
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: build
          Severity: normal
          Priority: P3
         Component: rtl-optimization
              Host: x86_64-unknown-linux-gnu
            Target: cris-*-*

Created attachment 21882
Preprocessed dtoa.c

At r164551 the tree built with few regressions.
At r164560 building newlib/libc/stdlib/dtoa.c hangs (cpu-time > 38 hours) and
at r164619 the build is at a similar state (didn't wait 38 hours, but see

Attaching a gdb-session to the running cc1 at r164619 shows an infinite loop in

4027          for (x = from; x != NEXT_INSN (to); x = NEXT_INSN (x))
4028            if (!BARRIER_P (x))
4029              df_insn_change_bb (x, bb);

But "x" is bogus; it seems to have been deleted or at least removed from the
insn stream:
(insn 2210 2210 2210 239 (set (cc0)
        (compare (reg/v/f:SI 3 r3 [orig:95 mlo ] [95])
            (reg/v/f:SI 4 r4 [orig:97 mhi ] [97])))
/tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/dtoa.c:808 11 {*cmpsi}

The call to df_insn_change_bb takes the (old_bb == new_bb) early return.

Author of suspect patch in revision range CC:ed.
Preprocessed dtoa.c attached.  Compile with -O2.

Reply via email to