LLVM  12.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::VectorizeConfig Struct Reference

Vectorize configuration. More...

#include "llvm/Transforms/Vectorize.h"

Collaboration diagram for llvm::VectorizeConfig:
Collaboration graph
[legend]

Public Member Functions

 VectorizeConfig ()
 Initialize the VectorizeConfig from command line options. More...
 

Public Attributes

unsigned VectorBits
 The size of the native vector registers. More...
 
bool VectorizeBools
 Vectorize boolean values. More...
 
bool VectorizeInts
 Vectorize integer values. More...
 
bool VectorizeFloats
 Vectorize floating-point values. More...
 
bool VectorizePointers
 Vectorize pointer values. More...
 
bool VectorizeCasts
 Vectorize casting (conversion) operations. More...
 
bool VectorizeMath
 Vectorize floating-point math intrinsics. More...
 
bool VectorizeBitManipulations
 Vectorize bit intrinsics. More...
 
bool VectorizeFMA
 Vectorize the fused-multiply-add intrinsic. More...
 
bool VectorizeSelect
 Vectorize select instructions. More...
 
bool VectorizeCmp
 Vectorize comparison instructions. More...
 
bool VectorizeGEP
 Vectorize getelementptr instructions. More...
 
bool VectorizeMemOps
 Vectorize loads and stores. More...
 
bool AlignedOnly
 Only generate aligned loads and stores. More...
 
unsigned ReqChainDepth
 The required chain depth for vectorization. More...
 
unsigned SearchLimit
 The maximum search distance for instruction pairs. More...
 
unsigned MaxCandPairsForCycleCheck
 The maximum number of candidate pairs with which to use a full cycle check. More...
 
bool SplatBreaksChain
 Replicating one element to a pair breaks the chain. More...
 
unsigned MaxInsts
 The maximum number of pairable instructions per group. More...
 
unsigned MaxPairs
 The maximum number of candidate instruction pairs per group. More...
 
unsigned MaxIter
 The maximum number of pairing iterations. More...
 
bool Pow2LenOnly
 Don't try to form odd-length vectors. More...
 
bool NoMemOpBoost
 Don't boost the chain-depth contribution of loads and stores. More...
 
bool FastDep
 Use a fast instruction dependency analysis. More...
 

Detailed Description

Vectorize configuration.

Definition at line 23 of file Vectorize.h.

Constructor & Destructor Documentation

◆ VectorizeConfig()

llvm::VectorizeConfig::VectorizeConfig ( )

Initialize the VectorizeConfig from command line options.

Member Data Documentation

◆ AlignedOnly

bool llvm::VectorizeConfig::AlignedOnly

Only generate aligned loads and stores.

Definition at line 67 of file Vectorize.h.

◆ FastDep

bool llvm::VectorizeConfig::FastDep

Use a fast instruction dependency analysis.

Definition at line 101 of file Vectorize.h.

◆ MaxCandPairsForCycleCheck

unsigned llvm::VectorizeConfig::MaxCandPairsForCycleCheck

The maximum number of candidate pairs with which to use a full cycle check.

Definition at line 80 of file Vectorize.h.

◆ MaxInsts

unsigned llvm::VectorizeConfig::MaxInsts

The maximum number of pairable instructions per group.

Definition at line 86 of file Vectorize.h.

◆ MaxIter

unsigned llvm::VectorizeConfig::MaxIter

The maximum number of pairing iterations.

Definition at line 92 of file Vectorize.h.

◆ MaxPairs

unsigned llvm::VectorizeConfig::MaxPairs

The maximum number of candidate instruction pairs per group.

Definition at line 89 of file Vectorize.h.

◆ NoMemOpBoost

bool llvm::VectorizeConfig::NoMemOpBoost

Don't boost the chain-depth contribution of loads and stores.

Definition at line 98 of file Vectorize.h.

◆ Pow2LenOnly

bool llvm::VectorizeConfig::Pow2LenOnly

Don't try to form odd-length vectors.

Definition at line 95 of file Vectorize.h.

◆ ReqChainDepth

unsigned llvm::VectorizeConfig::ReqChainDepth

The required chain depth for vectorization.

Definition at line 73 of file Vectorize.h.

◆ SearchLimit

unsigned llvm::VectorizeConfig::SearchLimit

The maximum search distance for instruction pairs.

Definition at line 76 of file Vectorize.h.

◆ SplatBreaksChain

bool llvm::VectorizeConfig::SplatBreaksChain

Replicating one element to a pair breaks the chain.

Definition at line 83 of file Vectorize.h.

◆ VectorBits

unsigned llvm::VectorizeConfig::VectorBits

The size of the native vector registers.

Definition at line 28 of file Vectorize.h.

◆ VectorizeBitManipulations

bool llvm::VectorizeConfig::VectorizeBitManipulations

Vectorize bit intrinsics.

Definition at line 49 of file Vectorize.h.

◆ VectorizeBools

bool llvm::VectorizeConfig::VectorizeBools

Vectorize boolean values.

Definition at line 31 of file Vectorize.h.

◆ VectorizeCasts

bool llvm::VectorizeConfig::VectorizeCasts

Vectorize casting (conversion) operations.

Definition at line 43 of file Vectorize.h.

◆ VectorizeCmp

bool llvm::VectorizeConfig::VectorizeCmp

Vectorize comparison instructions.

Definition at line 58 of file Vectorize.h.

◆ VectorizeFloats

bool llvm::VectorizeConfig::VectorizeFloats

Vectorize floating-point values.

Definition at line 37 of file Vectorize.h.

◆ VectorizeFMA

bool llvm::VectorizeConfig::VectorizeFMA

Vectorize the fused-multiply-add intrinsic.

Definition at line 52 of file Vectorize.h.

◆ VectorizeGEP

bool llvm::VectorizeConfig::VectorizeGEP

Vectorize getelementptr instructions.

Definition at line 61 of file Vectorize.h.

◆ VectorizeInts

bool llvm::VectorizeConfig::VectorizeInts

Vectorize integer values.

Definition at line 34 of file Vectorize.h.

◆ VectorizeMath

bool llvm::VectorizeConfig::VectorizeMath

Vectorize floating-point math intrinsics.

Definition at line 46 of file Vectorize.h.

◆ VectorizeMemOps

bool llvm::VectorizeConfig::VectorizeMemOps

Vectorize loads and stores.

Definition at line 64 of file Vectorize.h.

◆ VectorizePointers

bool llvm::VectorizeConfig::VectorizePointers

Vectorize pointer values.

Definition at line 40 of file Vectorize.h.

◆ VectorizeSelect

bool llvm::VectorizeConfig::VectorizeSelect

Vectorize select instructions.

Definition at line 55 of file Vectorize.h.


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