[PATCH] D20474: when calculating RegUsages, ignore instructions which are uniformed after vectorization
Michael Kuperstein via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 15 16:50:31 PDT 2016
mkuper accepted this revision.
mkuper added a comment.
This revision is now accepted and ready to land.
Sorry, I lost track of this patch.
LGTM, modulo a couple of nits.
================
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);
----------------
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. :-) )
================
Comment at: test/Transforms/LoopVectorize/X86/reg-usage.ll:46
@@ -47,1 +45,3 @@
+define i32 @goo() {
+; CHECK-LABEL: goo
----------------
Could you please document what each of the two new tests actually tries to check?
Repository:
rL LLVM
https://reviews.llvm.org/D20474
More information about the llvm-commits
mailing list