https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100329
Bug ID: 100329
Summary: ICE: verify_ssa failed (error: definition in block 3
does not dominate use in block 4)
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: aarch64-linux-gnu
gcc-11.0.1-alpha20210426 snapshot (g:d3212299e2cfc3c16dd23bab26ec6c49024105f8)
ICEs when compiling the following testcase, reduced from
gcc/testsuite/gcc.c-torture/compile/asmgoto-5.c, w/ -O1 -fwrapv:
int a0;
int
foo (int a1, int a2)
{
int x;
asm goto ("" : "=r" (x) : : : lab);
a0 = x;
lab:
return x + a1 + a2 + 1;
}
% aarch64-linux-gnu-gcc-11.0.1 -O1 -fwrapv -c gugaqse9.c
gugaqse9.c: In function 'foo':
gugaqse9.c:4:1: error: definition in block 3 does not dominate use in block 4
4 | foo (int a1, int a2)
| ^~~
for SSA_NAME: _2 in statement:
_9 = _1 + _2;
during GIMPLE pass: reassoc
gugaqse9.c:4:1: internal compiler error: verify_ssa failed
0x112e39e verify_ssa(bool, bool)
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210426/work/gcc-11-20210426/gcc/tree-ssa.c:1214
0xdfd118 execute_function_todo
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210426/work/gcc-11-20210426/gcc/passes.c:2049
0xdfd711 do_per_function
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210426/work/gcc-11-20210426/gcc/passes.c:1687
0xdfd711 execute_todo
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210426/work/gcc-11-20210426/gcc/passes.c:2096
GCC 10 rejects this code.