aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/PredicateInfo.cpp
diff options
context:
space:
mode:
authorMichael Kruse <llvm-project@meinersbur.de>2021-02-11 12:03:20 -0600
committerMichael Kruse <llvm-project@meinersbur.de>2021-02-11 12:17:38 -0600
commit606aa622b23855784c5db5b48b1c4800467fd851 (patch)
tree49444bd16e8be847c892478f6f86dc5af482fcdf /llvm/lib/Transforms/Utils/PredicateInfo.cpp
parentf8772da8cc9a0be65c9ba028c2b5a895c1ed4f91 (diff)
downloadllvm-606aa622b23855784c5db5b48b1c4800467fd851.zip
llvm-606aa622b23855784c5db5b48b1c4800467fd851.tar.gz
llvm-606aa622b23855784c5db5b48b1c4800467fd851.tar.bz2
Revert "[AssumptionCache] Avoid dangling llvm.assume calls in the cache"
This reverts commit b7d870eae7fdadcf10d0f177faa7409c2e37d776 and the subsequent fix "[Polly] Fix build after AssumptionCache change (D96168)" (commit e6810cab09fcbc87b6e5e4d226de0810e2f2ea38). It caused indeterminism in the output, such that e.g. the polly-x86_64-linux buildbot failed accasionally.
Diffstat (limited to 'llvm/lib/Transforms/Utils/PredicateInfo.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/PredicateInfo.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/PredicateInfo.cpp b/llvm/lib/Transforms/Utils/PredicateInfo.cpp
index fe69382..71b1926 100644
--- a/llvm/lib/Transforms/Utils/PredicateInfo.cpp
+++ b/llvm/lib/Transforms/Utils/PredicateInfo.cpp
@@ -530,11 +530,10 @@ void PredicateInfoBuilder::buildPredicateInfo() {
processSwitch(SI, BranchBB, OpsToRename);
}
}
- for (auto &AssumeVH : AC.assumptions()) {
- CallInst *AssumeCI = AssumeVH.getAssumeCI();
- if (DT.isReachableFromEntry(AssumeCI->getParent()))
- processAssume(cast<IntrinsicInst>(AssumeCI), AssumeCI->getParent(),
- OpsToRename);
+ for (auto &Assume : AC.assumptions()) {
+ if (auto *II = dyn_cast_or_null<IntrinsicInst>(Assume))
+ if (DT.isReachableFromEntry(II->getParent()))
+ processAssume(II, II->getParent(), OpsToRename);
}
// Now rename all our operations.
renameUses(OpsToRename);