[PATCH] D24511: [LV] Process pointer IVs with PHINodes in collectLoopUniforms

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 13 08:40:09 PDT 2016


mssimpso created this revision.
mssimpso added a reviewer: mkuper.
mssimpso added subscribers: llvm-commits, mcrosier.
Herald added a subscriber: mzolotukhin.

This patch moves the processing of pointer induction variables in collectLoopUniforms from the consecutive pointer phase of the analysis to the phi node phase. Previously, if a pointer induction variable was used by both a scalarized non-memory instruction as well as a vectorized memory instruction, we would incorrectly identify the pointer as uniform. Pointer induction variables should be treated the same as other phi nodes. That is, they are uniform if all users of the induction variable and induction variable update are uniform.

https://reviews.llvm.org/D24511

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24511.71178.patch
Type: text/x-patch
Size: 9448 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160913/06af2078/attachment.bin>


More information about the llvm-commits mailing list