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

            Bug ID: 86547
           Summary: s390x: Maximum number of LRA assignment passes is
                    achieved (30) when compiling a small inline assembler
                    snippet
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iii at linux dot ibm.com
                CC: krebbel at gcc dot gnu.org
  Target Milestone: ---

Shows up on master (6cfa970a):

$ cat test.c
int a;
struct {} __thread b;
void c() {
  __asm__(""
          :
          : "r"(a), ""(b), ""(b), "r"(a), "r"(a), "m"(a), "m"(a), "m"(a),
"m"(a), "m"(a), "m"(a)
          : "r12");
}

$ PATH=gcc:$PATH xgcc -c test.c
during RTL pass: reload
test.c: In function ā€˜cā€™:
test.c:8:1: internal compiler error: Maximum number of LRA assignment passes is
achieved (30)

 }
 ^
0x1a2d43f lra_assign(bool&)
        ../../gcc/gcc/lra-assigns.c:1669
0x1a24e79 lra(_IO_FILE*)
        ../../gcc/gcc/lra.c:2482
0x19c147f do_reload
        ../../gcc/gcc/ira.c:5465
0x19c147f execute
        ../../gcc/gcc/ira.c:5649

Reply via email to