[PATCH] D20474: when calculating RegUsages, ignore instructions which are uniformed after vectorization

Wei Mi via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 10:20:15 PDT 2016


wmi added a comment.

Michael, thanks for the review.


================
Comment at: lib/Transforms/Vectorize/LoopVectorize.cpp:6495
@@ +6494,3 @@
+        VecValuesToIgnore.insert(&I);
+      LoadInst *LI = dyn_cast<LoadInst>(&I);
+      StoreInst *SI = dyn_cast<StoreInst>(&I);
----------------
mkuper wrote:
> I was sure we already had a helper for a common LI/SI getPointerOperand() helper.
> Turns out we have (at least!) 6, in:
> * LoopAccessAnalysis
> * EarlyCSE
> * DependenceAnalysis
> * PPCLoopPreIncPrep
> * Delinearization
> * LoadStoreVectorizer
> 
> I'm going to refactor this into a common helper somewhere in utils, but can you hoist this into another local helper? It'll be easier for me to keep track of, in case I land after you do.
> (If you prefer to do the refactoring yourself, let me know. :-) )
Added a local helper for it.

================
Comment at: test/Transforms/LoopVectorize/X86/reg-usage.ll:46
@@ -47,1 +45,3 @@
 
+define i32 @goo() {
+; CHECK-LABEL: goo
----------------
mkuper wrote:
> Could you please document what each of the two new tests actually tries to check?
Comments added.


Repository:
  rL LLVM

https://reviews.llvm.org/D20474





More information about the llvm-commits mailing list