aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2015-01-26 22:51:15 +0000
committerChad Rosier <mcrosier@codeaurora.org>2015-01-26 22:51:15 +0000
commitf9327d6fe9f609d1a05a64de7ccf222fdc3b0fb6 (patch)
tree330967086d0deb706b559445790132d74cdb2f63 /llvm/lib/Analysis/TargetTransformInfo.cpp
parentc333e577fe476fb4f8f4ab3c0babdcc07f62a2be (diff)
downloadllvm-f9327d6fe9f609d1a05a64de7ccf222fdc3b0fb6.zip
llvm-f9327d6fe9f609d1a05a64de7ccf222fdc3b0fb6.tar.gz
llvm-f9327d6fe9f609d1a05a64de7ccf222fdc3b0fb6.tar.bz2
Commoning of target specific load/store intrinsics in Early CSE.
Phabricator revision: http://reviews.llvm.org/D7121 Patch by Sanjin Sijaric <ssijaric@codeaurora.org>! llvm-svn: 227149
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r--llvm/lib/Analysis/TargetTransformInfo.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
index 9184842..ebc56bb 100644
--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
+++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
@@ -254,6 +254,16 @@ unsigned TargetTransformInfo::getCostOfKeepingLiveOverCall(ArrayRef<Type*> Tys)
return PrevTTI->getCostOfKeepingLiveOverCall(Tys);
}
+Value *TargetTransformInfo::getOrCreateResultFromMemIntrinsic(
+ IntrinsicInst *Inst, Type *ExpectedType) const {
+ return PrevTTI->getOrCreateResultFromMemIntrinsic(Inst, ExpectedType);
+}
+
+bool TargetTransformInfo::getTgtMemIntrinsic(IntrinsicInst *Inst,
+ MemIntrinsicInfo &Info) const {
+ return PrevTTI->getTgtMemIntrinsic(Inst, Info);
+}
+
namespace {
struct NoTTI final : ImmutablePass, TargetTransformInfo {
@@ -656,6 +666,15 @@ struct NoTTI final : ImmutablePass, TargetTransformInfo {
return 0;
}
+ bool getTgtMemIntrinsic(IntrinsicInst *Inst,
+ MemIntrinsicInfo &Info) const override {
+ return false;
+ }
+
+ Value *getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,
+ Type *ExpectedType) const override {
+ return nullptr;
+ }
};
} // end anonymous namespace