LLVM 22.0.0git
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 30 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 49 of file Scalarizer.h.

Referenced by DirectXPassConfig::addCodeGenPrepare().

◆ 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 39 of file Scalarizer.h.

◆ ScalarizeVariableInsertExtract

bool llvm::ScalarizerPassOptions::ScalarizeVariableInsertExtract = true

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

Definition at line 43 of file Scalarizer.h.


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