struct AlignmentFromAssumptionsPass
Declaration
struct AlignmentFromAssumptionsPass : public PassInfoMixin { /* full declaration omitted */ };
Description
A CRTP mix-in to automatically provide informational APIs needed for passes. This provides some boilerplate for types that are passes.
Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:27
Inherits from: PassInfoMixin
Member Variables
- public llvm::ScalarEvolution* SE = nullptr
- public llvm::DominatorTree* DT = nullptr
Method Overview
- public bool extractAlignmentInfo(llvm::CallInst * I, llvm::Value *& AAPtr, const llvm::SCEV *& AlignSCEV, const llvm::SCEV *& OffSCEV)
- public bool processAssumption(llvm::CallInst * I)
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)
- public bool runImpl(llvm::Function & F, llvm::AssumptionCache & AC, llvm::ScalarEvolution * SE_, llvm::DominatorTree * DT_)
Methods
¶bool extractAlignmentInfo(
llvm::CallInst* I,
llvm::Value*& AAPtr,
const llvm::SCEV*& AlignSCEV,
const llvm::SCEV*& OffSCEV)
bool extractAlignmentInfo(
llvm::CallInst* I,
llvm::Value*& AAPtr,
const llvm::SCEV*& AlignSCEV,
const llvm::SCEV*& OffSCEV)
Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:38
Parameters
- llvm::CallInst* I
- llvm::Value*& AAPtr
- const llvm::SCEV*& AlignSCEV
- const llvm::SCEV*& OffSCEV
¶bool processAssumption(llvm::CallInst* I)
bool processAssumption(llvm::CallInst* I)
Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:40
Parameters
¶llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:29
Parameters
¶bool runImpl(llvm::Function& F,
llvm::AssumptionCache& AC,
llvm::ScalarEvolution* SE_,
llvm::DominatorTree* DT_)
bool runImpl(llvm::Function& F,
llvm::AssumptionCache& AC,
llvm::ScalarEvolution* SE_,
llvm::DominatorTree* DT_)
Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:32