aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
diff options
context:
space:
mode:
authorTyker <tyker1@outlook.com>2020-04-13 11:27:27 +0200
committerTyker <tyker1@outlook.com>2020-04-13 12:04:51 +0200
commit813f438baaa9638529023b2218875e01ea037735 (patch)
tree6b1071a11859dc1382fb1014d10348567290825c /llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
parent29bb046fe91ba13ddcbb0765e27f3164368b7c26 (diff)
downloadllvm-813f438baaa9638529023b2218875e01ea037735.zip
llvm-813f438baaa9638529023b2218875e01ea037735.tar.gz
llvm-813f438baaa9638529023b2218875e01ea037735.tar.bz2
[AssumeBundles] adapt Assumption cache to assume bundles
Summary: change assumption cache to store an assume along with an index to the operand bundle containing the knowledge. Reviewers: jdoerfert, hfinkel Reviewed By: jdoerfert Subscribers: hiraditya, mgrang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77402
Diffstat (limited to 'llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp b/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
index cd677f7..682e69f 100644
--- a/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
+++ b/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
@@ -8,6 +8,7 @@
#include "llvm/Transforms/Utils/AssumeBundleBuilder.h"
#include "llvm/Analysis/AssumeBundleQueries.h"
+#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstIterator.h"
@@ -222,9 +223,12 @@ IntrinsicInst *llvm::buildAssumeFromInst(Instruction *I) {
return Builder.build();
}
-void llvm::salvageKnowledge(Instruction *I) {
- if (Instruction *Intr = buildAssumeFromInst(I))
+void llvm::salvageKnowledge(Instruction *I, AssumptionCache *AC) {
+ if (IntrinsicInst *Intr = buildAssumeFromInst(I)) {
Intr->insertBefore(I);
+ if (AC)
+ AC->registerAssumption(Intr);
+ }
}
PreservedAnalyses AssumeBuilderPass::run(Function &F,