|
LLVM
4.0.0
|
#include "llvm/Transforms/Scalar/PartiallyInlineLibCalls.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/IR/IRBuilder.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "partially-inline-libcalls" |
Functions | |
| static bool | optimizeSQRT (CallInst *Call, Function *CalledFunc, BasicBlock &CurrBB, Function::iterator &BB) |
| static bool | runPartiallyInlineLibCalls (Function &F, TargetLibraryInfo *TLI, const TargetTransformInfo *TTI) |
| INITIALIZE_PASS_BEGIN (PartiallyInlineLibCallsLegacyPass,"partially-inline-libcalls","Partially inline calls to library functions", false, false) INITIALIZE_PASS_END(PartiallyInlineLibCallsLegacyPass | |
Variables | |
| partially inline | libcalls |
| partially inline Partially calls to library | functions |
| partially inline Partially calls to library | false |
Definition at line 25 of file PartiallyInlineLibCalls.cpp.
| INITIALIZE_PASS_BEGIN | ( | PartiallyInlineLibCallsLegacyPass | , |
| "partially-inline-libcalls" | , | ||
| "Partially inline calls to library functions" | , | ||
| false | , | ||
| false | |||
| ) |
|
static |
Definition at line 28 of file PartiallyInlineLibCalls.cpp.
References llvm::CallInst::addAttribute(), llvm::BasicBlock::begin(), llvm::Instruction::clone(), llvm::BasicBlock::Create(), llvm::Instruction::eraseFromParent(), llvm::AttributeSet::FunctionIndex, llvm::BasicBlock::getContext(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::Type::isFloatingPointTy(), llvm::CallInst::onlyReadsMemory(), llvm::Value::replaceAllUsesWith(), and llvm::SplitBlock().
Referenced by runPartiallyInlineLibCalls().
|
static |
Definition at line 83 of file PartiallyInlineLibCalls.cpp.
References llvm::Function::begin(), llvm::Call, llvm::dyn_cast(), llvm::Function::end(), llvm::CallInst::getCalledFunction(), llvm::TargetLibraryInfo::getLibFunc(), llvm::Value::getType(), llvm::TargetTransformInfo::haveFastSqrt(), llvm::ARM_PROC::IE, and optimizeSQRT().
Referenced by llvm::PartiallyInlineLibCallsPass::run().
Definition at line 171 of file PartiallyInlineLibCalls.cpp.
Definition at line 171 of file PartiallyInlineLibCalls.cpp.
| partially inline libcalls |
Definition at line 171 of file PartiallyInlineLibCalls.cpp.
1.8.6