[PATCH] D46191: [LV] Preserve inbounds on created GEPs

Daniel Neilson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 27 07:57:48 PDT 2018


dneilson created this revision.
dneilson added a reviewer: mkuper.
Herald added a reviewer: javed.absar.

This is a fix for PR23997.

The loop vectorizer is not preserving the inbounds property of GEPs that it creates.
This is inhibiting some optimizations. This patch preserves the inbounds property in
the case where a load/store is being fed by an inbounds GEP.


Repository:
  rL LLVM

https://reviews.llvm.org/D46191

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/AArch64/pr36032.ll
  test/Transforms/LoopVectorize/ARM/sphinx.ll
  test/Transforms/LoopVectorize/X86/masked_load_store.ll
  test/Transforms/LoopVectorize/X86/metadata-enable.ll
  test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
  test/Transforms/LoopVectorize/float-induction.ll
  test/Transforms/LoopVectorize/induction-step.ll
  test/Transforms/LoopVectorize/induction.ll
  test/Transforms/LoopVectorize/pr23997.ll
  test/Transforms/LoopVectorize/scalar_after_vectorization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46191.144345.patch
Type: text/x-patch
Size: 143988 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180427/8bfc5ceb/attachment-0001.bin>


More information about the llvm-commits mailing list