diff options
Diffstat (limited to 'include/llvm/Transforms/Utils/SimplifyLibCalls.h')
| -rw-r--r-- | include/llvm/Transforms/Utils/SimplifyLibCalls.h | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/include/llvm/Transforms/Utils/SimplifyLibCalls.h b/include/llvm/Transforms/Utils/SimplifyLibCalls.h index 6aba9b2298b1..73a62f59203b 100644 --- a/include/llvm/Transforms/Utils/SimplifyLibCalls.h +++ b/include/llvm/Transforms/Utils/SimplifyLibCalls.h @@ -28,6 +28,7 @@ class Instruction;  class TargetLibraryInfo;  class BasicBlock;  class Function; +class OptimizationRemarkEmitter;  /// \brief This class implements simplifications for calls to fortified library  /// functions (__st*cpy_chk, __memcpy_chk, __memmove_chk, __memset_chk), to, @@ -73,6 +74,7 @@ private:    FortifiedLibCallSimplifier FortifiedSimplifier;    const DataLayout &DL;    const TargetLibraryInfo *TLI; +  OptimizationRemarkEmitter &ORE;    bool UnsafeFPShrink;    function_ref<void(Instruction *, Value *)> Replacer; @@ -87,6 +89,7 @@ private:  public:    LibCallSimplifier(const DataLayout &DL, const TargetLibraryInfo *TLI, +                    OptimizationRemarkEmitter &ORE,                      function_ref<void(Instruction *, Value *)> Replacer =                          &replaceAllUsesWithDefault); @@ -126,14 +129,19 @@ private:    Value *optimizeStringMemoryLibCall(CallInst *CI, IRBuilder<> &B);    // Math Library Optimizations +  Value *optimizeCAbs(CallInst *CI, IRBuilder<> &B);    Value *optimizeCos(CallInst *CI, IRBuilder<> &B);    Value *optimizePow(CallInst *CI, IRBuilder<> &B); +  Value *replacePowWithSqrt(CallInst *Pow, IRBuilder<> &B);    Value *optimizeExp2(CallInst *CI, IRBuilder<> &B);    Value *optimizeFMinFMax(CallInst *CI, IRBuilder<> &B);    Value *optimizeLog(CallInst *CI, IRBuilder<> &B);    Value *optimizeSqrt(CallInst *CI, IRBuilder<> &B);    Value *optimizeSinCosPi(CallInst *CI, IRBuilder<> &B);    Value *optimizeTan(CallInst *CI, IRBuilder<> &B); +  // Wrapper for all floating point library call optimizations +  Value *optimizeFloatingPointLibCall(CallInst *CI, LibFunc Func, +                                      IRBuilder<> &B);    // Integer Library Call Optimizations    Value *optimizeFFS(CallInst *CI, IRBuilder<> &B); | 
