9 #ifndef MLIR_CONVERSION_VECTORTOSCF_VECTORTOSCF_H_
10 #define MLIR_CONVERSION_VECTORTOSCF_VECTORTOSCF_H_
17 class RewritePatternSet;
19 #define GEN_PASS_DECL_CONVERTVECTORTOSCF
20 #include "mlir/Conversion/Passes.h.inc"
84 RewritePatternSet &patterns,
85 const VectorTransferToSCFOptions &
options = VectorTransferToSCFOptions());
89 const VectorTransferToSCFOptions &
options = VectorTransferToSCFOptions());
static llvm::ManagedStatic< PassManagerOptions > options
Include the generated interface declarations.
void populateVectorToSCFConversionPatterns(RewritePatternSet &patterns, const VectorTransferToSCFOptions &options=VectorTransferToSCFOptions())
Collect a set of patterns to convert from the Vector dialect to SCF + func.
std::unique_ptr< Pass > createConvertVectorToSCFPass(const VectorTransferToSCFOptions &options=VectorTransferToSCFOptions())
Create a pass to convert a subset of vector ops to SCF.
When lowering an N-d vector transfer op to an (N-1)-d vector transfer op, a temporary buffer is creat...
bool unroll
Triggers full unrolling (vs iterating with a loop) during transfer to scf.
bool lowerScalable
Enable scalable vector specific lowerings (which introduce loops).
bool lowerTensors
Allows vector transfers that operated on tensors to be lowered (this is an uncommon alternative).
VectorTransferToSCFOptions enableLowerScalable(bool enable=true)
unsigned targetRank
Minimal rank to which vector transfer are lowered.
VectorTransferToSCFOptions & enableLowerTensors(bool l=true)
VectorTransferToSCFOptions & enableFullUnroll(bool u=true)
VectorTransferToSCFOptions & setTargetRank(unsigned r)