LLVM 20.0.0git
|
A pass to do RPO deduction and propagation of function attributes. More...
#include "llvm/Transforms/IPO/FunctionAttrs.h"
Public Member Functions | |
PreservedAnalyses | run (Module &M, ModuleAnalysisManager &AM) |
Public Member Functions inherited from llvm::PassInfoMixin< ReversePostOrderFunctionAttrsPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< ReversePostOrderFunctionAttrsPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
A pass to do RPO deduction and propagation of function attributes.
This pass provides a general RPO or "top down" propagation of function attributes. For a few (rare) cases, we can deduce significantly more about function attributes by working in RPO, so this pass provides the complement to the post-order pass above where the majority of deduction is performed.
Definition at line 72 of file FunctionAttrs.h.
PreservedAnalyses ReversePostOrderFunctionAttrsPass::run | ( | Module & | M, |
ModuleAnalysisManager & | AM | ||
) |
Definition at line 2018 of file FunctionAttrs.cpp.
References llvm::PreservedAnalyses::all(), deduceFunctionAttributeInRPO(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), and llvm::PreservedAnalyses::preserve().