[Bug tree-optimization/98685] New: [11 Regression] ICE verify_flow_info failed since r11-6649-g285fa338b06b804e
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jan 14 16:35:55 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98685
Bug ID: 98685
Summary: [11 Regression] ICE verify_flow_info failed since
r11-6649-g285fa338b06b804e
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
Reduced from schily package:
$ cat lockit.i
char onelock_lock[16];
void write(void);
void lockit(int count) {
for (; count;) {
int pid, i;
char *p;
for (i = 0, p = (char *)&pid; i < sizeof 0; i++)
onelock_lock[i] = *p++;
write();
}
}
$ gcc lockit.i -c -O3 -fdump-tree-slp=/dev/stdout
;; Function lockit (lockit, funcdef_no=0, decl_uid=1946, cgraph_uid=1,
symbol_order=1)
lockit.i: In function ‘lockit’:
lockit.i:4:6: error: control flow in the middle of basic block 2
4 | void lockit(int count) {
| ^~~~~~
lockit.i:4:6: error: control flow in the middle of basic block 2
lockit.i:4:6: error: true/false edge after a non-GIMPLE_COND in bb 2
lockit.i:4:6: error: true/false edge after a non-GIMPLE_COND in bb 2
during GIMPLE pass: slp
dump file: /dev/stdout
A SLP node is placed after a condition:
<bb 2> [local count: 26541933]:
if (count_8(D) != 0)
_6 = VIEW_CONVERT_EXPR<vector(4) char>(pid_16(D));
_4 = _6;
More information about the Gcc-bugs
mailing list