LLVM 20.0.0git
|
Argument promotion pass. More...
#include "llvm/Transforms/IPO/ArgumentPromotion.h"
Public Member Functions | |
ArgumentPromotionPass (unsigned MaxElements=2u) | |
PreservedAnalyses | run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR) |
Public Member Functions inherited from llvm::PassInfoMixin< ArgumentPromotionPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
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. | |
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 23 of file ArgumentPromotion.h.
|
inline |
Definition at line 27 of file ArgumentPromotion.h.
PreservedAnalyses ArgumentPromotionPass::run | ( | LazyCallGraph::SCC & | C, |
CGSCCAnalysisManager & | AM, | ||
LazyCallGraph & | CG, | ||
CGSCCUpdateResult & | UR | ||
) |
Definition at line 856 of file ArgumentPromotion.cpp.
References llvm::PreservedAnalyses::all(), llvm::CallingConv::C, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::clear(), llvm::Function::eraseFromParent(), FAM, llvm::Value::getName(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), N, llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), promoteArguments(), and llvm::Value::users().