diff options
author | Meador Inge <meadori@codesourcery.com> | 2012-10-13 16:45:24 +0000 |
---|---|---|
committer | Meador Inge <meadori@codesourcery.com> | 2012-10-13 16:45:24 +0000 |
commit | 5e8904576a5260cfd5b14596e338a4bb25b9817e (patch) | |
tree | 99f1f4d7a666434238a0cdc06d1e7eebe64a0f6e /lib/Transforms/InstCombine/InstCombine.h | |
parent | af8969076083396f06431971cce867ea11fb968c (diff) | |
download | llvm-5e8904576a5260cfd5b14596e338a4bb25b9817e.tar.gz llvm-5e8904576a5260cfd5b14596e338a4bb25b9817e.tar.bz2 llvm-5e8904576a5260cfd5b14596e338a4bb25b9817e.tar.xz |
Implement new LibCallSimplifier class
This patch implements the new LibCallSimplifier class as outlined in [1].
In addition to providing the new base library simplification infrastructure,
all the fortified library call simplifications were moved over to the new
infrastructure. The rest of the library simplification optimizations will
be moved over with follow up patches.
NOTE: The original fortified library call simplifier located in the
SimplifyFortifiedLibCalls class was not removed because it is still
used by CodeGenPrepare. This class will eventually go away too.
[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052283.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165873 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/InstCombine/InstCombine.h')
-rw-r--r-- | lib/Transforms/InstCombine/InstCombine.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/InstCombine/InstCombine.h b/lib/Transforms/InstCombine/InstCombine.h index 325bb20fbe..41017c5287 100644 --- a/lib/Transforms/InstCombine/InstCombine.h +++ b/lib/Transforms/InstCombine/InstCombine.h @@ -18,6 +18,7 @@ #include "llvm/Analysis/ValueTracking.h" #include "llvm/Support/InstVisitor.h" #include "llvm/Support/TargetFolder.h" +#include "llvm/Transforms/Utils/SimplifyLibCalls.h" namespace llvm { class CallSite; @@ -74,6 +75,7 @@ class LLVM_LIBRARY_VISIBILITY InstCombiner DataLayout *TD; TargetLibraryInfo *TLI; bool MadeIRChange; + LibCallSimplifier *Simplifier; public: /// Worklist - All of the instructions that need to be simplified. InstCombineWorklist Worklist; |