LLVM 24.0.0git
llvm::VectorizerParams Struct Reference

Collection of parameters shared beetween the Loop Vectorizer and the Loop Access Analysis. More...

#include "llvm/Analysis/LoopAccessAnalysis.h"

Static Public Member Functions

static LLVM_ABI bool isInterleaveForced ()
 True if force-vector-interleave was specified by the user.

Static Public Attributes

static LLVM_ABI const unsigned MaxVectorWidth = 64
 Maximum SIMD width.
static LLVM_ABI ElementCount VectorizationFactor
 VF as overridden by the user.
static LLVM_ABI unsigned VectorizationInterleave
 Interleave factor as overridden by the user.
static LLVM_ABI unsigned RuntimeMemoryCheckThreshold
 \When performing memory disambiguation checks at runtime do not make more than this number of comparisons.
static LLVM_ABI unsigned VectorizeMemoryCheckThreshold
 The maximum allowed number of runtime memory checks.
static LLVM_ABI bool HoistRuntimeChecks

Detailed Description

Collection of parameters shared beetween the Loop Vectorizer and the Loop Access Analysis.

Definition at line 35 of file LoopAccessAnalysis.h.

Member Function Documentation

◆ isInterleaveForced()

bool VectorizerParams::isInterleaveForced ( )
static

True if force-vector-interleave was specified by the user.

Definition at line 184 of file LoopAccessAnalysis.cpp.

Referenced by llvm::LoopVectorizeHints::LoopVectorizeHints().

Member Data Documentation

◆ HoistRuntimeChecks

bool VectorizerParams::HoistRuntimeChecks
static

Definition at line 59 of file LoopAccessAnalysis.h.

◆ MaxVectorWidth

const unsigned VectorizerParams::MaxVectorWidth = 64
static

Maximum SIMD width.

Definition at line 37 of file LoopAccessAnalysis.h.

◆ RuntimeMemoryCheckThreshold

unsigned VectorizerParams::RuntimeMemoryCheckThreshold
static

\When performing memory disambiguation checks at runtime do not make more than this number of comparisons.

Definition at line 48 of file LoopAccessAnalysis.h.

◆ VectorizationFactor

ElementCount VectorizerParams::VectorizationFactor
static

VF as overridden by the user.

Definition at line 40 of file LoopAccessAnalysis.h.

Referenced by llvm::LoopVectorizeHints::LoopVectorizeHints(), and llvm::VFSelectionContext::supportsScalableVectors().

◆ VectorizationInterleave

unsigned VectorizerParams::VectorizationInterleave
static

Interleave factor as overridden by the user.

Definition at line 42 of file LoopAccessAnalysis.h.

Referenced by llvm::LoopVectorizeHints::LoopVectorizeHints().

◆ VectorizeMemoryCheckThreshold

unsigned VectorizerParams::VectorizeMemoryCheckThreshold
static

The maximum allowed number of runtime memory checks.

Above this many checks the vectorizer gives up on the loop.

Definition at line 52 of file LoopAccessAnalysis.h.

Referenced by isOutsideLoopWorkProfitable().


The documentation for this struct was generated from the following files: