This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/68021] [6 Regression] ice in rewrite_use_nonlinear_expr with -O3
- From: "ysrumyan at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 21 Oct 2015 09:48:16 +0000
- Subject: [Bug tree-optimization/68021] [6 Regression] ice in rewrite_use_nonlinear_expr with -O3
- Auto-submitted: auto-generated
- References: <bug-68021-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68021
--- Comment #4 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
Indeed, there is an issue with outer-loop unswitching - it should not be
performed for infinite loops. But if we slightly modify test if finite
outer-loop we will get the same error:
char a;
void fn1(char *p1, int p2, int p3) {
int i, x;
for (i = 0; i < 10; i++) {
for (x = 0; x < p3; x++) {
*p1 = a;
p1--;
}
p1 += p2;
}
}
I assume that sccp is responsible for it.