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 #19 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
I have a patch that solves this problem by always versioning loops when
vectorization is enabled, and also sets up if-conversion for outer loops so
that outer-loop vectorization can succeed as before.  Surprisingly, this didn't
require any changes to the vectorization code to pass the test suite, and I
verified a couple of examples to see that the expected vectorization was
occurring.

We still have these regressions:

> FAIL: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
> FAIL: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1

Richard, what are your current thoughts on this re: comment #6?

I think I should probably submit the current patch for review despite the
regression, while we talk about the effect on SLP vectorization.  I'll do this
tomorrow unless I hear otherwise.

Thanks for your help on the approach!

Bill

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