[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