https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #8 from Richard Biener ---
Author: rguenth
Date: Wed Apr 6 10:31:27 2016
New Revision: 234776
URL: https://gcc.gnu.org/viewcvs?rev=234776=gcc=rev
Log:
2016-04-06 Richard Biener
Backport from mainline
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
Jakub Jelinek changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #6 from Jakub Jelinek ---
Author: jakub
Date: Fri Mar 11 12:28:50 2016
New Revision: 234140
URL: https://gcc.gnu.org/viewcvs?rev=234140=gcc=rev
Log:
PR tree-optimization/70177
* gimple-expr.h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #5 from Jakub Jelinek ---
Created attachment 37933
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37933=edit
gcc6-pr70177.patch
Untested fix. The questions about latent issues, where the upper bound
expression comes from and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
Richard Biener changed:
What|Removed |Added
Blocks||68963
--- Comment #4 from Richard
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #3 from Jakub Jelinek ---
Perhaps better testcase (-O2 again):
int b[128];
void
foo (int i, int j)
{
int c, f, g, h;
for (g = 0; g < 64; g++)
for (h = g, f = 0; f <= i; f++, h++)
for (c = 0; c < j; c++)
b[h] =
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
--- Comment #2 from Jakub Jelinek ---
Though, that expression looks weird, on the testcase it is clear that if i is
>= 0 (not -1!), then c must be 0, because otherwise the innermost loop must
invoke undefined behavior, and deriving anything
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
Jakub Jelinek changed:
What|Removed |Added
Keywords||ice-on-valid-code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70177
Jakub Jelinek changed:
What|Removed |Added
Priority|P3 |P1