https://bugs.llvm.org/show_bug.cgi?id=50783
Bug ID: 50783
Summary: Crash as exhaust the stack in unroll loops while
recursion call createSCEV
Product: libraries
Version: 11.0
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: ARM
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected]
When compile with -O3, it is tried to complete unroll the loops, then it crash
as the recursion call of function createSCEV to deep, and exhaust the stack.
clang -mcpu=tsv110 -O3 test-creduce6.c
2. Per-module optimization passes
3. Running pass 'Function Pass Manager' on module 'test-creduce6.c'.
4. Running pass 'Loop Pass Manager' on function '@foo'
5. Running pass 'Unroll loops' on basic block '%for.cond1.preheader
=================== test case =============================
~/test/issue2292 ยป cat test-creduce6.c
zyd@bisheng-develop
char a;
long b, c;
int d;
short foo() {
for (c = 2; c; c++) {
for (b = 10; b < 35; b++) {
int *g = &d;
*g |= 8;
for (a = 8; a < 76; a++) {
g = &c;
c *= *g;
}
}
}
return 0;
}
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs