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:29

Inherits from: PassInfoMixin

Member Variables

public llvm::ScalarEvolution* SE = nullptr
public llvm::DominatorTree* DT = nullptr

Method Overview

  • public bool extractAlignmentInfo(llvm::CallInst * I, unsigned int Idx, llvm::Value *& AAPtr, const llvm::SCEV *& AlignSCEV, const llvm::SCEV *& OffSCEV)
  • public bool processAssumption(llvm::CallInst * I, unsigned int Idx)
  • 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,
    unsigned int Idx,
    llvm::Value*& AAPtr,
    const llvm::SCEV*& AlignSCEV,
    const llvm::SCEV*& OffSCEV)

Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:40

Parameters

llvm::CallInst* I
unsigned int Idx
llvm::Value*& AAPtr
const llvm::SCEV*& AlignSCEV
const llvm::SCEV*& OffSCEV

bool processAssumption(llvm::CallInst* I,
                       unsigned int Idx)

Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:42

Parameters

llvm::CallInst* I
unsigned int Idx

llvm::PreservedAnalyses run(
    llvm::Function& F,
    llvm::FunctionAnalysisManager& AM)

Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:31

Parameters

llvm::Function& F
llvm::FunctionAnalysisManager& AM

bool runImpl(llvm::Function& F,
             llvm::AssumptionCache& AC,
             llvm::ScalarEvolution* SE_,
             llvm::DominatorTree* DT_)

Declared at: llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h:34

Parameters

llvm::Function& F
llvm::AssumptionCache& AC
llvm::ScalarEvolution* SE_
llvm::DominatorTree* DT_