LLVM  8.0.1
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 25 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 69 of file Vectorize.h.

◆ FastDep

bool llvm::VectorizeConfig::FastDep

Use a fast instruction dependency analysis.

Definition at line 103 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 82 of file Vectorize.h.

◆ MaxInsts

unsigned llvm::VectorizeConfig::MaxInsts

The maximum number of pairable instructions per group.

Definition at line 88 of file Vectorize.h.

◆ MaxIter

unsigned llvm::VectorizeConfig::MaxIter

The maximum number of pairing iterations.

Definition at line 94 of file Vectorize.h.

◆ MaxPairs

unsigned llvm::VectorizeConfig::MaxPairs

The maximum number of candidate instruction pairs per group.

Definition at line 91 of file Vectorize.h.

◆ NoMemOpBoost

bool llvm::VectorizeConfig::NoMemOpBoost

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

Definition at line 100 of file Vectorize.h.

◆ Pow2LenOnly

bool llvm::VectorizeConfig::Pow2LenOnly

Don't try to form odd-length vectors.

Definition at line 97 of file Vectorize.h.

◆ ReqChainDepth

unsigned llvm::VectorizeConfig::ReqChainDepth

The required chain depth for vectorization.

Definition at line 75 of file Vectorize.h.

◆ SearchLimit

unsigned llvm::VectorizeConfig::SearchLimit

The maximum search distance for instruction pairs.

Definition at line 78 of file Vectorize.h.

◆ SplatBreaksChain

bool llvm::VectorizeConfig::SplatBreaksChain

Replicating one element to a pair breaks the chain.

Definition at line 85 of file Vectorize.h.

◆ VectorBits

unsigned llvm::VectorizeConfig::VectorBits

The size of the native vector registers.

Definition at line 30 of file Vectorize.h.

◆ VectorizeBitManipulations

bool llvm::VectorizeConfig::VectorizeBitManipulations

Vectorize bit intrinsics.

Definition at line 51 of file Vectorize.h.

◆ VectorizeBools

bool llvm::VectorizeConfig::VectorizeBools

Vectorize boolean values.

Definition at line 33 of file Vectorize.h.

◆ VectorizeCasts

bool llvm::VectorizeConfig::VectorizeCasts

Vectorize casting (conversion) operations.

Definition at line 45 of file Vectorize.h.

◆ VectorizeCmp

bool llvm::VectorizeConfig::VectorizeCmp

Vectorize comparison instructions.

Definition at line 60 of file Vectorize.h.

◆ VectorizeFloats

bool llvm::VectorizeConfig::VectorizeFloats

Vectorize floating-point values.

Definition at line 39 of file Vectorize.h.

◆ VectorizeFMA

bool llvm::VectorizeConfig::VectorizeFMA

Vectorize the fused-multiply-add intrinsic.

Definition at line 54 of file Vectorize.h.

◆ VectorizeGEP

bool llvm::VectorizeConfig::VectorizeGEP

Vectorize getelementptr instructions.

Definition at line 63 of file Vectorize.h.

◆ VectorizeInts

bool llvm::VectorizeConfig::VectorizeInts

Vectorize integer values.

Definition at line 36 of file Vectorize.h.

◆ VectorizeMath

bool llvm::VectorizeConfig::VectorizeMath

Vectorize floating-point math intrinsics.

Definition at line 48 of file Vectorize.h.

◆ VectorizeMemOps

bool llvm::VectorizeConfig::VectorizeMemOps

Vectorize loads and stores.

Definition at line 66 of file Vectorize.h.

◆ VectorizePointers

bool llvm::VectorizeConfig::VectorizePointers

Vectorize pointer values.

Definition at line 42 of file Vectorize.h.

◆ VectorizeSelect

bool llvm::VectorizeConfig::VectorizeSelect

Vectorize select instructions.

Definition at line 57 of file Vectorize.h.


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