https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90000

            Bug ID: 90000
           Summary: Compile-time hog w/ impossible asm constraints on
                    powerpc
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: compile-time-hog, error-recovery
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

At least gcc-9.0.0-alpha20190331 snapshot (r270048) and gcc 8.2 take indefinite
time when compiling gcc/testsuite/gcc.target/powerpc/pr60032.c w/ -msoft-float:

% timeout 60 powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20190331 -msoft-float -c
gcc/testsuite/gcc.target/powerpc/pr60032.c
gcc/testsuite/gcc.target/powerpc/pr60032.c: In function 'foo':
gcc/testsuite/gcc.target/powerpc/pr60032.c:10:3: error: impossible constraint
in 'asm'
   10 |   __asm__ ("#" : "=d" (fr1));
      |   ^~~~~~~
gcc/testsuite/gcc.target/powerpc/pr60032.c:13:1: error: 31 cannot be used in
asm here
   13 | }
      | ^
gcc/testsuite/gcc.target/powerpc/pr60032.c:13:1: error: 31 cannot be used in
asm here
zsh: exit 124   timeout 60 powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20190331
-msoft-float -c

  13.18%  cc1           [.] note_stores
  12.19%  cc1           [.] rtx_equal_p
   7.99%  cc1           [.] set_of_1
   7.72%  cc1           [.] rs6000_stack_info
   7.51%  cc1           [.] process_bb_lives
   7.26%  cc1           [.] set_of
   4.27%  cc1           [.] refers_to_regno_p
   4.18%  cc1           [.] update_reg_eliminate
   4.10%  cc1           [.] reg_overlap_mentioned_p
   3.74%  cc1           [.] find_regno_note
   3.14%  cc1           [.] lra_assign
   2.80%  cc1           [.] lra_create_live_ranges_1
   2.80%  cc1           [.] resize_reg_info
   2.73%  cc1           [.] bitmap_bit_p
   2.15%  cc1           [.] lra_constraints
   1.96%  cc1           [.] lra_spill

It actually might be a duplicate of some existing PR. I believe the case of LRA
doing some unnecessary work after an unrecoverable error has been reported
already, though I cannot easily find where.

Reply via email to