Turn MipsOptimizeMathLibCalls into a target-independent scalar transform
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Fri, 23 Aug 2013 10:27:02 +0000 (10:27 +0000)
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>
Fri, 23 Aug 2013 10:27:02 +0000 (10:27 +0000)
commita8a7099c1849fcbb4a68642a292fd0250aa46505
treef3f31347a082cd803e6a47a6e8b57294ac55748d
parent287c84a0b45cc826b1200f4cf4be3547d2fcd69c
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
17 files changed:
include/llvm-c/Transforms/Scalar.h
include/llvm/Analysis/TargetTransformInfo.h
include/llvm/InitializePasses.h
include/llvm/LinkAllPasses.h
include/llvm/Transforms/Scalar.h
lib/Analysis/TargetTransformInfo.cpp
lib/CodeGen/BasicTargetTransformInfo.cpp
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/Mips.h
lib/Target/Mips/MipsOptimizeMathLibCalls.cpp [deleted file]
lib/Target/Mips/MipsTargetMachine.cpp
lib/Target/SystemZ/SystemZTargetMachine.cpp
lib/Transforms/Scalar/CMakeLists.txt
lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp [new file with mode: 0644]
lib/Transforms/Scalar/Scalar.cpp
test/CodeGen/SystemZ/fp-sqrt-01.ll
test/CodeGen/SystemZ/fp-sqrt-02.ll