struct LoopVectorizePass

Declaration

struct LoopVectorizePass : public PassInfoMixin { /* full declaration omitted */ };

Description

The LoopVectorize Pass.

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:120

Inherits from: PassInfoMixin

Member Variables

public bool InterleaveOnlyWhenForced
If false, consider all loops for interleaving. If true, only loops that explicitly request interleaving are considered.
public bool VectorizeOnlyWhenForced
If false, consider all loops for vectorization. If true, only loops that explicitly request vectorization are considered.
public llvm::ScalarEvolution* SE
public llvm::LoopInfo* LI
public llvm::TargetTransformInfo* TTI
public llvm::DominatorTree* DT
public llvm::BlockFrequencyInfo* BFI
public llvm::TargetLibraryInfo* TLI
public llvm::DemandedBits* DB
public llvm::AliasAnalysis* AA
public llvm::AssumptionCache* AC
public std::function<const LoopAccessInfo&(Loop&)>* GetLAA
public llvm::OptimizationRemarkEmitter* ORE
public llvm::ProfileSummaryInfo* PSI

Method Overview

  • public LoopVectorizePass(llvm::LoopVectorizeOptions Opts = {})
  • public bool processLoop(llvm::Loop * L)
  • public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)
  • public bool runImpl(llvm::Function & F, llvm::ScalarEvolution & SE_, llvm::LoopInfo & LI_, llvm::TargetTransformInfo & TTI_, llvm::DominatorTree & DT_, llvm::BlockFrequencyInfo & BFI_, llvm::TargetLibraryInfo * TLI_, llvm::DemandedBits & DB_, llvm::AliasAnalysis & AA_, llvm::AssumptionCache & AC_, std::function<const LoopAccessInfo &(Loop &)> & GetLAA_, llvm::OptimizationRemarkEmitter & ORE_, llvm::ProfileSummaryInfo * PSI_)

Methods

LoopVectorizePass(
    llvm::LoopVectorizeOptions Opts = {})

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:129

Parameters

llvm::LoopVectorizeOptions Opts = {}

bool processLoop(llvm::Loop* L)

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:156

Parameters

llvm::Loop* L

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

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:146

Parameters

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

bool runImpl(
    llvm::Function& F,
    llvm::ScalarEvolution& SE_,
    llvm::LoopInfo& LI_,
    llvm::TargetTransformInfo& TTI_,
    llvm::DominatorTree& DT_,
    llvm::BlockFrequencyInfo& BFI_,
    llvm::TargetLibraryInfo* TLI_,
    llvm::DemandedBits& DB_,
    llvm::AliasAnalysis& AA_,
    llvm::AssumptionCache& AC_,
    std::function<const LoopAccessInfo&(Loop&)>&
        GetLAA_,
    llvm::OptimizationRemarkEmitter& ORE_,
    llvm::ProfileSummaryInfo* PSI_)

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:149

Parameters

llvm::Function& F
llvm::ScalarEvolution& SE_
llvm::LoopInfo& LI_
llvm::TargetTransformInfo& TTI_
llvm::DominatorTree& DT_
llvm::BlockFrequencyInfo& BFI_
llvm::TargetLibraryInfo* TLI_
llvm::DemandedBits& DB_
llvm::AliasAnalysis& AA_
llvm::AssumptionCache& AC_
std::function<const LoopAccessInfo&(Loop&)>& GetLAA_
llvm::OptimizationRemarkEmitter& ORE_
llvm::ProfileSummaryInfo* PSI_