diff options
author | Hideki Saito <hideki.saito@intel.com> | 2019-08-02 06:31:50 +0000 |
---|---|---|
committer | Hideki Saito <hideki.saito@intel.com> | 2019-08-02 06:31:50 +0000 |
commit | 09fac2450b199869891fdfc321d6dc314279f1b9 (patch) | |
tree | 3c3a8c3b9c99dbdb497f4a79ac4cef585b5e206a /llvm/lib/Analysis/VectorUtils.cpp | |
parent | d21b3d346af2f6189638d853182e389555e7ccb9 (diff) | |
download | llvm-09fac2450b199869891fdfc321d6dc314279f1b9.zip llvm-09fac2450b199869891fdfc321d6dc314279f1b9.tar.gz llvm-09fac2450b199869891fdfc321d6dc314279f1b9.tar.bz2 |
[LV] Avoid building interleaved group in presence of WAW dependency
Reviewers: hsaito, Ayal, fhahn, anna, mkazantsev
Reviewed By: hsaito
Patch by evrevnov, thanks!
Differential Revision: https://reviews.llvm.org/D63981
llvm-svn: 367654
Diffstat (limited to 'llvm/lib/Analysis/VectorUtils.cpp')
-rw-r--r-- | llvm/lib/Analysis/VectorUtils.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index 986756e..8bc9104 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -964,6 +964,10 @@ void InterleavedAccessInfo::analyzeInterleaving( // instructions that precede it. if (isInterleaved(A)) { InterleaveGroup<Instruction> *StoreGroup = getInterleaveGroup(A); + + LLVM_DEBUG(dbgs() << "LV: Invalidated store group due to " + "dependence between " << *A << " and "<< *B << '\n'); + StoreGroups.remove(StoreGroup); releaseGroup(StoreGroup); } |