[Bug tree-optimization/81987] New: ICE in verify_ssa with -O3 -march=skylake-avx512
vsevolod.livinskij at frtk dot ru
gcc-bugzilla@gcc.gnu.org
Fri Aug 25 21:13:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81987
Bug ID: 81987
Summary: ICE in verify_ssa with -O3 -march=skylake-avx512
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vsevolod.livinskij at frtk dot ru
Target Milestone: ---
g++ -O3 -march=skylake-avx512 fails with ICE in verify_ssa with error:
definition in block 11 does not dominate use in block 2
There are several trackers with the same error message, but some of them fails
only with -O2 -floop-nest-optimize option (69675, 79483), other were fixed
(71252). So i don't know, if this bug is duplicate or not.
>$ cat repr.cpp
extern short var_1;
extern const short var_3;
extern unsigned long int var_9;
extern short var_13;
extern const unsigned long int var_15;
extern const unsigned long int var_37;
extern unsigned long int var_40;
extern long long int var_47;
extern short var_48;
extern const short var_54;
extern long long int var_79;
extern long long int var_81;
extern long long int var_94;
extern long long int var_95;
extern long long int var_701;
extern unsigned long int var_786;
extern short var_788;
extern long long int var_844;
struct struct_1 {
short member_1_2 : 30;
static long long int member_1_3;
};
extern struct_1 struct_obj_6;
extern struct_1 struct_obj_8;
void foo() {
int a = var_3 <= 602154393864UL;
if (var_81 ? 0 : var_3 && var_9)
;
else {
var_94 = 0;
if (var_3 && var_48 || var_13) {
if (var_48)
var_95 = 0;
short b((2364461588881776511UL + var_3) * (2 ? var_13 : 0) || var_1);
struct_obj_8.member_1_2 = b;
if (var_15) {
if (var_81)
if (var_47)
;
else if (var_40)
var_701 = 0;
} else {
if (var_40)
var_79 = 0;
if (var_54) {
if (var_37)
var_786 = 0;
else
var_788 = 0;
struct_obj_6.member_1_3 =
(2364461588881776511UL + var_3) * (2 ? var_13 : 0);
}
}
if ((2364461588881776511UL + var_3) * (2 ? var_13 : 0))
var_844 = 0;
}
}
}
Error:
>g++ -O3 -march=skylake-avx512 -c repr.cpp
repr.cpp: In function ‘void foo()’:
repr.cpp:28:6: error: definition in block 11 does not dominate use in block 2
void foo() {
^~~
for SSA_NAME: _10 in statement:
slsr_104 = _10 * 2364461588881776511;
during GIMPLE pass: slsr
repr.cpp:28:6: internal compiler error: verify_ssa failed
0x1095c1b verify_ssa(bool, bool)
/home/vsevolod/workspace/gcc-dev/trunk/gcc/tree-ssa.c:1188
0xd7ad1d execute_function_todo
/home/vsevolod/workspace/gcc-dev/trunk/gcc/passes.c:1999
0xd7b619 execute_todo
/home/vsevolod/workspace/gcc-dev/trunk/gcc/passes.c:2046
GCC version is 251301
More information about the Gcc-bugs
mailing list