[Bug tree-optimization/87543] Inconsistency in noticing a constant result rather than emitting code for a loop

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Mon Oct 8 09:09:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87543

--- Comment #2 from Eyal Rozenberg <eyalroz at technion dot ac.il> ---
(In reply to Richard Biener from comment #1)
> The issue at -O2 is etc.

That is one issue, but there is the question of the changes in behavior between
versions and when `-march` is used. I don't know if you guys are actively
maintaining 7.x or 6.x ; assuming you do, each of them should at least exhibit
coherent behavior here.

> because of the awkward IV structure PRE present us with

I assume other GCC devs will understand what this means, but for my benefit as
the lay reporter - can you define (or link to a definition of) what "PRE" is
and what is an "awkward IV structure"? (I'm guessing the acronym expands to
Induction Variable.)

--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 8 Oct 2018, eyalroz at technion dot ac.il wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87543
> 
> --- Comment #2 from Eyal Rozenberg <eyalroz at technion dot ac.il> ---
> (In reply to Richard Biener from comment #1)
> > The issue at -O2 is etc.
> 
> That is one issue, but there is the question of the changes in behavior between
> versions and when `-march` is used. I don't know if you guys are actively
> maintaining 7.x or 6.x ; assuming you do, each of them should at least exhibit
> coherent behavior here.
> 
> > because of the awkward IV structure PRE present us with
> 
> I assume other GCC devs will understand what this means, but for my benefit as
> the lay reporter - can you define (or link to a definition of) what "PRE" is
> and what is an "awkward IV structure"? (I'm guessing the acronym expands to
> Induction Variable.)

PRE means partial redundancy removal -- GCC sees that the loop body
in the first iteration can be evaluated at compile-time and restructures
the loop to not compute it.  IV is indeed induction variable.


More information about the Gcc-bugs mailing list