18#ifndef LLVM_TRANSFORMS_SCALAR_SCALARIZER_H
19#define LLVM_TRANSFORMS_SCALAR_SCALARIZER_H
69 const ScalarizerPassOptions &
Options = ScalarizerPassOptions());
This header defines various interfaces for pass management in LLVM.
A container for analyses that lazily runs them and caches their results.
A set of analyses that are preserved following a run of a transformation pass.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
ScalarizerPass(const ScalarizerPassOptions &Options)
void setScalarizeLoadStore(bool Value)
void setScalarizeVariableInsertExtract(bool Value)
void setScalarizeMinBits(unsigned Value)
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createScalarizerPass(const ScalarizerPassOptions &Options=ScalarizerPassOptions())
Create a legacy pass manager instance of the Scalarizer pass.
A CRTP mix-in to automatically provide informational APIs needed for passes.
bool ScalarizeLoadStore
Allow the scalarizer pass to scalarize loads and store.
unsigned ScalarizeMinBits
Instruct the scalarizer pass to attempt to keep values of a minimum number of bits.
bool ScalarizeVariableInsertExtract
Allow the scalarizer pass to scalarize insertelement/extractelement with variable index.