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) |
![]() | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
![]() | |
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 900 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().