diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2015-01-26 22:51:15 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2015-01-26 22:51:15 +0000 |
commit | f9327d6fe9f609d1a05a64de7ccf222fdc3b0fb6 (patch) | |
tree | 330967086d0deb706b559445790132d74cdb2f63 /llvm/lib/Analysis/TargetTransformInfo.cpp | |
parent | c333e577fe476fb4f8f4ab3c0babdcc07f62a2be (diff) | |
download | llvm-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.cpp | 19 |
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 |