LLVM 20.0.0git
Public Attributes | List of all members
llvm::ScalarizerPassOptions Struct Reference

#include "llvm/Transforms/Scalar/Scalarizer.h"

Public Attributes

unsigned ScalarizeMinBits = 0
 Instruct the scalarizer pass to attempt to keep values of a minimum number of bits.
 
bool ScalarizeVariableInsertExtract = true
 Allow the scalarizer pass to scalarize insertelement/extractelement with variable index.
 
bool ScalarizeLoadStore = false
 Allow the scalarizer pass to scalarize loads and store.
 

Detailed Description

Definition at line 29 of file Scalarizer.h.

Member Data Documentation

◆ ScalarizeLoadStore

bool llvm::ScalarizerPassOptions::ScalarizeLoadStore = false

Allow the scalarizer pass to scalarize loads and store.

This is disabled by default because having separate loads and stores makes it more likely that the -combiner-alias-analysis limits will be reached.

Definition at line 48 of file Scalarizer.h.

Referenced by DirectXPassConfig::addCodeGenPrepare(), and llvm::ScalarizerPass::setScalarizeLoadStore().

◆ ScalarizeMinBits

unsigned llvm::ScalarizerPassOptions::ScalarizeMinBits = 0

Instruct the scalarizer pass to attempt to keep values of a minimum number of bits.

Split vectors larger than this size into fragments, where each fragment is either a vector no larger than this size or a scalar.

Instructions with operands or results of different sizes that would be split into a different number of fragments are currently left as-is.

Definition at line 38 of file Scalarizer.h.

Referenced by llvm::ScalarizerPass::setScalarizeMinBits().

◆ ScalarizeVariableInsertExtract

bool llvm::ScalarizerPassOptions::ScalarizeVariableInsertExtract = true

Allow the scalarizer pass to scalarize insertelement/extractelement with variable index.

Definition at line 42 of file Scalarizer.h.

Referenced by llvm::ScalarizerPass::setScalarizeVariableInsertExtract().


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