This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons
- From: "wschmidt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 15 Nov 2016 03:06:45 +0000
- Subject: [Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons
- Auto-submitted: auto-generated
- References: <bug-77848-4@http.gcc.gnu.org/bugzilla/>
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