[PATCH] D52656: [LV] Teach vectorizer about variant value store into uniform address
Ayal Zaks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 4 15:45:01 PDT 2018
Ayal added inline comments.
================
Comment at: include/llvm/Analysis/LoopAccessAnalysis.h:623
- /// Indicator that there is a store of a variant value to a uniform address.
- bool HasVariantStoreToLoopInvariantAddress;
+ /// Indicator that there multiple stores to a uniform address.
+ bool HasMultipleStoresToLoopInvariantAddress;
----------------
there [are] multiple
================
Comment at: lib/Analysis/LoopAccessAnalysis.cpp:2307
- OS.indent(Depth) << "Variant Store to invariant address was "
- << (HasVariantStoreToLoopInvariantAddress ? "" : "not ")
+ OS.indent(Depth) << "Multiple stores to invariant address was "
+ << (HasMultipleStoresToLoopInvariantAddress ? "" : "not ")
----------------
was >> were
================
Comment at: test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll:42
; CHECK-NEXT: Member: {%b,+,4}<%for.body>
-; CHECK: Variant Store to invariant address was not found in loop.
+; CHECK: Multiple stores to invariant address was not found in loop.
; CHECK-NEXT: SCEV assumptions:
----------------
was >> were (+ multiple occurrences below)
================
Comment at: test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll:7
+; CHECK-LABEL: @foo(
+; CHECK: <4 x i32>
+; CHECK: ret void
----------------
CHECK how LV actually vectorizes the invariant store, rather than if it emits a vector type?
Would be good to include a test having two conditional invariant stores.
Repository:
rL LLVM
https://reviews.llvm.org/D52656
More information about the llvm-commits
mailing list