diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-06 05:11:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-06 05:11:24 +0000 |
commit | 0cccd7633e4a0ba36b5ff9a3dfda2a09d16dc337 (patch) | |
tree | c41d88a7c74c5999c3cc86ff687e27d10e267c56 /lib/Transforms | |
parent | cc67c75b67d22653ea9380020e9a40381233901d (diff) | |
download | external_llvm-0cccd7633e4a0ba36b5ff9a3dfda2a09d16dc337.zip external_llvm-0cccd7633e4a0ba36b5ff9a3dfda2a09d16dc337.tar.gz external_llvm-0cccd7633e4a0ba36b5ff9a3dfda2a09d16dc337.tar.bz2 |
fix PR8067, an over-aggressive assertion in LICM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113146 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/LICM.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index 4cab33b..0db7ba7 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -681,10 +681,10 @@ void LICM::PromoteAliasSet(AliasSet &AS) { // it. if (isa<LoadInst>(Use)) assert(!cast<LoadInst>(Use)->isVolatile() && "AST broken"); - else if (isa<StoreInst>(Use)) - assert(!cast<StoreInst>(Use)->isVolatile() && - Use->getOperand(0) != ASIV && "AST broken"); - else + else if (isa<StoreInst>(Use)) { + assert(!cast<StoreInst>(Use)->isVolatile() && "AST broken"); + if (Use->getOperand(0) == ASIV) return; + } else return; // Not a load or store. if (!GuaranteedToExecute) |