class DeadArgumentEliminationPass
Declaration
class DeadArgumentEliminationPass : public PassInfoMixin { /* full declaration omitted */ };
Description
Eliminate dead arguments (and return values) from functions.
Declared at: llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h:38
Inherits from: PassInfoMixin
Member Variables
- public llvm::DeadArgumentEliminationPass::UseMap Uses
- This maps a return value or argument to any MaybeLive return values or arguments it uses. This allows the MaybeLive values to be marked live when any of its users is marked live. For example (indices are left out for clarity): - Uses[ret F] = ret G This means that F calls G, and F returns the value returned by G. - Uses[arg F] = ret G This means that some function calls G and passes its result as an argument to F. - Uses[ret F] = arg F This means that F returns one of its own arguments. - Uses[arg F] = arg G This means that G calls F and passes one of its own (G's) arguments directly to F.
- public llvm::DeadArgumentEliminationPass::LiveSet LiveValues
- This set contains all values that have been determined to be live.
- public llvm::DeadArgumentEliminationPass::LiveFuncSet LiveFunctions
- This set contains all values that are cannot be changed in any way.
- public bool ShouldHackArguments = false
- This allows this pass to do double-duty as the dead arg hacking pass (used only by bugpoint).
Method Overview
- public llvm::DeadArgumentEliminationPass::RetOrArg CreateArg(const llvm::Function * F, unsigned int Idx)
- public llvm::DeadArgumentEliminationPass::RetOrArg CreateRet(const llvm::Function * F, unsigned int Idx)
- public DeadArgumentEliminationPass(bool ShouldHackArguments_ = false)
- public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager &)
Methods
¶llvm::DeadArgumentEliminationPass::RetOrArg
CreateArg(const llvm::Function* F,
unsigned int Idx)
llvm::DeadArgumentEliminationPass::RetOrArg
CreateArg(const llvm::Function* F,
unsigned int Idx)
Description
Convenience wrapper
Declared at: llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h:87
Parameters
- const llvm::Function* F
- unsigned int Idx
¶llvm::DeadArgumentEliminationPass::RetOrArg
CreateRet(const llvm::Function* F,
unsigned int Idx)
llvm::DeadArgumentEliminationPass::RetOrArg
CreateRet(const llvm::Function* F,
unsigned int Idx)
Description
Convenience wrapper
Declared at: llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h:82
Parameters
- const llvm::Function* F
- unsigned int Idx
¶DeadArgumentEliminationPass(
bool ShouldHackArguments_ = false)
DeadArgumentEliminationPass(
bool ShouldHackArguments_ = false)
Declared at: llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h:76
Parameters
- bool ShouldHackArguments_ = false
¶llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager&)
llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager&)
Declared at: llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h:79