diff options
| author | Anna Thomas <anna@azul.com> | 2018-10-16 15:46:26 +0000 |
|---|---|---|
| committer | Anna Thomas <anna@azul.com> | 2018-10-16 15:46:26 +0000 |
| commit | 6f732bfb7900be621bf43002105ec05da62e679a (patch) | |
| tree | b2e4f5250099752d2d474107db6b431e9bda0603 /llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll | |
| parent | bb3dd34e62d2b53402a84d9d8b2a3c865fdf43fd (diff) | |
| download | bcm5719-llvm-6f732bfb7900be621bf43002105ec05da62e679a.tar.gz bcm5719-llvm-6f732bfb7900be621bf43002105ec05da62e679a.zip | |
[LV] Teach vectorizer about variant value store into uniform address
Summary:
Teach vectorizer about vectorizing variant value stores to uniform
address. Similar to rL343028, we do not allow vectorization if we have
multiple stores to the same uniform address.
Cost model already has the change for considering the extract
instruction cost for a variant value store. See added test cases for how
vectorization is done.
The patch also contains changes to the ORE messages.
Reviewers: Ayal, mkuper, anemet, hsaito
Subscribers: rkruppe, llvm-commits
Differential Revision: https://reviews.llvm.org/D52656
llvm-svn: 344613
Diffstat (limited to 'llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll')
| -rw-r--r-- | llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll b/llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll index e40c9e733cd..07bcdcc5c66 100644 --- a/llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll +++ b/llvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll @@ -10,8 +10,8 @@ ; } ; } -; CHECK: Variant Store to invariant address was not found in loop. -; CHECK-NOT: Variant Store to invariant address was found in loop. +; CHECK: Multiple stores to invariant address were not found in loop. +; CHECK-NOT: Multiple stores to invariant address were found in loop. define i32 @foo(i32* nocapture readonly %var1, i32* nocapture %var2, i32 %itr) #0 { |

