https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #9 from Richard Biener ---
(In reply to Yuri Rumyantsev from comment #8)
> Richard,
>
> I tested both proposed fixes and i turned out that the first one is
> preferable since performance of benchmark came back. Note that hoisting 2nd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #8 from Yuri Rumyantsev ---
Richard,
I tested both proposed fixes and i turned out that the first one is preferable
since performance of benchmark came back. Note that hoisting 2nd vrp pass gave
us another 14% slowdown but I did not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #7 from Richard Biener ---
Or we could realize that range-info is important for loop passes and move
the first VRP pass accordingly (after pass_sink_code).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #6 from Richard Biener ---
Ok, so it's probably the range information on a SSA name we lose because we
restrict retaining that to the case where the new SSA name definition is in
the same basic-block as the original one:
/*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #5 from Richard Biener ---
Err, sorry - you did bisect it already.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #4 from Richard Biener ---
We fail to determine an upper bound on the number of iterations for those
loops.
With 4.9 I only see one loop completely unrolled, that at t.c:20. 4.8 doesn't
unroll any loop either.
4.9 seems to conclude
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
--- Comment #3 from Yuri Rumyantsev ---
Any comments will be appreciated.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61743
Richard Biener changed:
What|Removed |Added
Keywords||missed-optimization
Status|