aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/Scalar.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-23 10:27:02 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-23 10:27:02 +0000
commita8a7099c1849fcbb4a68642a292fd0250aa46505 (patch)
treef3f31347a082cd803e6a47a6e8b57294ac55748d /lib/Transforms/Scalar/Scalar.cpp
parent287c84a0b45cc826b1200f4cf4be3547d2fcd69c (diff)
downloadexternal_llvm-a8a7099c1849fcbb4a68642a292fd0250aa46505.tar.gz
external_llvm-a8a7099c1849fcbb4a68642a292fd0250aa46505.tar.bz2
external_llvm-a8a7099c1849fcbb4a68642a292fd0250aa46505.zip
Turn MipsOptimizeMathLibCalls into a target-independent scalar transform
...so that it can be used for z too. Most of the code is the same. The only real change is to use TargetTransformInfo to test when a sqrt instruction is available. The pass is opt-in because at the moment it only handles sqrt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189097 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/Scalar.cpp')
-rw-r--r--lib/Transforms/Scalar/Scalar.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/Scalar.cpp b/lib/Transforms/Scalar/Scalar.cpp
index 758334dba4..952811b22b 100644
--- a/lib/Transforms/Scalar/Scalar.cpp
+++ b/lib/Transforms/Scalar/Scalar.cpp
@@ -50,6 +50,7 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) {
initializeLowerAtomicPass(Registry);
initializeLowerExpectIntrinsicPass(Registry);
initializeMemCpyOptPass(Registry);
+ initializePartiallyInlineLibCallsPass(Registry);
initializeReassociatePass(Registry);
initializeRegToMemPass(Registry);
initializeSCCPPass(Registry);
@@ -123,6 +124,10 @@ void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createMemCpyOptPass());
}
+void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM) {
+ unwrap(PM)->add(createPartiallyInlineLibCallsPass());
+}
+
void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) {
unwrap(PM)->add(createPromoteMemoryToRegisterPass());
}