Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -392,18 +392,24 @@ void populateVectorNarrowTypeRewritePatterns(RewritePatternSet &patterns,
void populateVectorTransposeNarrowTypeRewritePatterns(
RewritePatternSet &patterns, PatternBenefit benefit = 1);

/// Populates patterns for ND vectors (N >= 2) linearization and sets up the
/// provided ConversionTarget with the appropriate legality configuration for
/// the ops to get converted properly.
void populateVectorLinearizeTypeConversionsAndLegality(
TypeConverter &typeConverter, RewritePatternSet &patterns,
ConversionTarget &target, unsigned targetBitWidth);

/// Populates patterns for linearizing ND (N >= 2) vector operations to 1D
/// vector shuffle operations.
void populateVectorLinearizeShuffleLikeOpsPatterns(
const TypeConverter &typeConverter, RewritePatternSet &patterns,
ConversionTarget &target, unsigned targetBitWidth);
/// Populate `typeConverter` and `conversionTarget` with the definition of
/// legal types and operations, for the specific case where vectors with
/// trailing dimensions of size greater than `targetBitWidth` are legal.
void populateVectorLinearizeBitWidthTargetAndConverter(
TypeConverter &typeConverter, ConversionTarget &conversionTarget,
unsigned targetBitWidth);

/// Populates `patterns` for ND vector (N >= 2) linearization. Patterns for
/// converting ConstantLike, Vectorizable, and vector::BitCast.
void populateVectorLinearizeBasePatterns(const TypeConverter &,
RewritePatternSet &patterns,
const ConversionTarget &);

/// Populates `patterns` for linearizing ND (N >= 2) vector operations
/// to 1D vector shuffle operations.
void populateVectorLinearizeShuffleLikeOpsPatterns(const TypeConverter &,
RewritePatternSet &patterns,
const ConversionTarget &);

} // namespace vector
} // namespace mlir
Expand Down
Loading
Loading