LLVM
8.0.1
|
Argument promotion pass. More...
#include "llvm/Transforms/IPO/ArgumentPromotion.h"
Public Member Functions | |
ArgumentPromotionPass (unsigned MaxElements=3u) | |
PreservedAnalyses | run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< ArgumentPromotionPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
Argument promotion pass.
This pass walks the functions in each SCC and for each one tries to transform it and all of its callers to replace indirect arguments with direct (by-value) arguments.
Definition at line 24 of file ArgumentPromotion.h.
|
inline |
Definition at line 28 of file ArgumentPromotion.h.
PreservedAnalyses ArgumentPromotionPass::run | ( | LazyCallGraph::SCC & | C, |
CGSCCAnalysisManager & | AM, | ||
LazyCallGraph & | CG, | ||
CGSCCUpdateResult & | UR | ||
) |
Definition at line 982 of file ArgumentPromotion.cpp.
References llvm::AnalysisUsage::addRequired(), llvm::PreservedAnalyses::all(), assert(), C, llvm::Pass::doInitialization(), llvm::Function::eraseFromParent(), F(), llvm::getAAResultsAnalysisUsage(), llvm::CallGraphSCCPass::getAnalysisUsage(), llvm::PassRegistry::getPassRegistry(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), INITIALIZE_PASS_BEGIN(), INITIALIZE_PASS_DEPENDENCY, llvm::initializeArgPromotionPass(), N, llvm::None, llvm::PreservedAnalyses::none(), and promoteArguments().
Referenced by ArgumentPromotionPass().