diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2015-02-23 19:15:16 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2015-02-23 19:15:16 +0000 |
commit | 543900539f7c166d453e5bd5175f9461dbbd4319 (patch) | |
tree | 0d91a2a4c54e868976bd98691c8d95b4b05e201e /llvm/lib/Analysis/TargetTransformInfo.cpp | |
parent | 7c3310694cfdbf2d7350abfeac17733ac9000a9e (diff) | |
download | llvm-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.cpp | 4 |
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); } |