aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2015-02-23 19:15:16 +0000
committerChad Rosier <mcrosier@codeaurora.org>2015-02-23 19:15:16 +0000
commit543900539f7c166d453e5bd5175f9461dbbd4319 (patch)
tree0d91a2a4c54e868976bd98691c8d95b4b05e201e /llvm/lib/Analysis/TargetTransformInfo.cpp
parent7c3310694cfdbf2d7350abfeac17733ac9000a9e (diff)
downloadllvm-543900539f7c166d453e5bd5175f9461dbbd4319.zip
llvm-543900539f7c166d453e5bd5175f9461dbbd4319.tar.gz
llvm-543900539f7c166d453e5bd5175f9461dbbd4319.tar.bz2
Prevent hoisting fmul from THEN/ELSE to IF if there is fmsub/fmadd opportunity.
This patch adds the isProfitableToHoist API. For AArch64, we want to prevent a fmul from being hoisted in cases where it is more profitable to form a fmsub/fmadd. Phabricator Review: http://reviews.llvm.org/D7299 Patch by Lawrence Hu <lawrence@codeaurora.org> llvm-svn: 230241
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r--llvm/lib/Analysis/TargetTransformInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
index b5440e2..7ff29b0 100644
--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
+++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
@@ -123,6 +123,10 @@ bool TargetTransformInfo::isTruncateFree(Type *Ty1, Type *Ty2) const {
return TTIImpl->isTruncateFree(Ty1, Ty2);
}
+bool TargetTransformInfo::isProfitableToHoist(Instruction *I) const {
+ return TTIImpl->isProfitableToHoist(I);
+}
+
bool TargetTransformInfo::isTypeLegal(Type *Ty) const {
return TTIImpl->isTypeLegal(Ty);
}