[PATCH] D22035: [LoopVectorizer] Fixed a bug in gather/scatter intrinsics.

Elena Demikhovsky via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 6 00:48:21 PDT 2016


delena created this revision.
delena added a reviewer: Ayal.
delena added subscribers: llvm-commits, sanjoy.
delena set the repository for this revision to rL LLVM.
Herald added a subscriber: mzolotukhin.

The bug was in building vector GEP before gather scatter.
Index of GEP may remain scalar if it is nit defined inside the loop. (isLoopInvariant() condition is not enough).

The patch fixes https://llvm.org/bugs/show_bug.cgi?id=27997.

You see a lot of insert/extract instructions inside the test. I'll optimize this in the next patch.

Repository:
  rL LLVM

http://reviews.llvm.org/D22035

Files:
  ../lib/Transforms/Vectorize/LoopVectorize.cpp
  ../test/Transforms/LoopVectorize/X86/gather_scatter.ll
  ../test/Transforms/LoopVectorize/X86/scatter_crash.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22035.62828.patch
Type: text/x-patch
Size: 20701 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160706/bffe9b35/attachment.bin>


More information about the llvm-commits mailing list