aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
diff options
context:
space:
mode:
authorTyker <tyker1@outlook.com>2020-05-11 11:50:35 +0200
committerTyker <tyker1@outlook.com>2020-05-11 11:52:21 +0200
commit78d85c20919ff0a92e2a4e83c9be65a9cd493c0c (patch)
treee36eb88f8f70840cbf28002ede2e408ce25eb898 /llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
parentda100de0a68fb3c17bf0856f432465c0721c841f (diff)
downloadllvm-78d85c20919ff0a92e2a4e83c9be65a9cd493c0c.zip
llvm-78d85c20919ff0a92e2a4e83c9be65a9cd493c0c.tar.gz
llvm-78d85c20919ff0a92e2a4e83c9be65a9cd493c0c.tar.bz2
[AssumeBundles] fix crashes
Summary: this patch fixe crash/asserts found in the test-suite. the AssumeptionCache cannot be assumed to have all assumes contrary to what i tought. prevent generation of information for terminators, because this can create broken IR in transfromation where we insert the new terminator before removing the old one. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79458
Diffstat (limited to 'llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp b/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
index 4e47dd8..ee5e142 100644
--- a/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
+++ b/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
@@ -201,8 +201,9 @@ IntrinsicInst *llvm::buildAssumeFromInst(Instruction *I) {
return Builder.build();
}
-void llvm::salvageKnowledge(Instruction *I, AssumptionCache *AC, DominatorTree* DT) {
- if (!EnableKnowledgeRetention)
+void llvm::salvageKnowledge(Instruction *I, AssumptionCache *AC,
+ DominatorTree *DT) {
+ if (!EnableKnowledgeRetention || I->isTerminator())
return;
AssumeBuilderState Builder(I->getModule(), I, AC, DT);
Builder.addInstruction(I);