This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons


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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that bb-slp-cond-1.c is a particulaly bad example as it shows a defect in
the loop vectorizing data dependence analysis.

But yes, BB vectorization also benefits from if-conversion (but not only in
loops) though technically it should "simply" be re-written to support
multiple BBs and vectorizing PHIs (this shouldn't be too difficult).

Delaying the folding of LOOP_VECTORIZED is not going to work very well
I think and it will at least disturb complete unrolling.  After all you
don't know whether the complete BB will be vectorized.

Can you please show the complete list of FAILs you get?

I'd say we should go forward with the original idea and do some real-world
benchmarking (SPEC?) to look for unwanted fallout.

Then for cases like bb-slp-cond-1.c the fix is to fix loop vectorization
and for others it might be trying to teach BB vectorization to handle
control-flow (I can give this a shot though it's now somewhat late in
stage1...)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]