[mlir][NFC] Mark type converter in populate... functions as const (#111250)
This commit marks the type converter in `populate...` functions as `const`. This is useful for debugging. Patterns already take a `const` type converter. However, some `populate...` functions do not only add new patterns, but also add additional type conversion rules. That makes it difficult to find the place where a type conversion was added in the code base. With this change, all `populate...` functions that only populate pattern now have a `const` type converter. Programmers can then conclude from the function signature that these functions do not register any new type conversion rules. Also some minor cleanups around the 1:N dialect conversion infrastructure, which did not always pass the type converter as a `const` object internally.
This commit is contained in:
committed by
GitHub
parent
73683cc1ab
commit
206fad0e21
@@ -746,8 +746,8 @@ class SparseTensorAllocConverter
|
||||
: public OpConversionPattern<bufferization::AllocTensorOp> {
|
||||
public:
|
||||
using OpConversionPattern::OpConversionPattern;
|
||||
SparseTensorAllocConverter(TypeConverter &typeConverter, MLIRContext *context,
|
||||
bool enableInit)
|
||||
SparseTensorAllocConverter(const TypeConverter &typeConverter,
|
||||
MLIRContext *context, bool enableInit)
|
||||
: OpConversionPattern(typeConverter, context),
|
||||
enableBufferInitialization(enableInit) {}
|
||||
|
||||
@@ -808,8 +808,8 @@ private:
|
||||
class SparseTensorEmptyConverter : public OpConversionPattern<tensor::EmptyOp> {
|
||||
public:
|
||||
using OpConversionPattern::OpConversionPattern;
|
||||
SparseTensorEmptyConverter(TypeConverter &typeConverter, MLIRContext *context,
|
||||
bool enableInit)
|
||||
SparseTensorEmptyConverter(const TypeConverter &typeConverter,
|
||||
MLIRContext *context, bool enableInit)
|
||||
: OpConversionPattern(typeConverter, context),
|
||||
enableBufferInitialization(enableInit) {}
|
||||
|
||||
@@ -850,7 +850,7 @@ class SparseTensorDeallocConverter
|
||||
: public OpConversionPattern<bufferization::DeallocTensorOp> {
|
||||
public:
|
||||
using OpConversionPattern::OpConversionPattern;
|
||||
SparseTensorDeallocConverter(TypeConverter &typeConverter,
|
||||
SparseTensorDeallocConverter(const TypeConverter &typeConverter,
|
||||
MLIRContext *context, bool createDeallocs)
|
||||
: OpConversionPattern(typeConverter, context),
|
||||
createDeallocs(createDeallocs) {}
|
||||
@@ -1411,7 +1411,7 @@ struct SparseAssembleOpConverter : public OpConversionPattern<AssembleOp> {
|
||||
struct SparseDisassembleOpConverter
|
||||
: public OpConversionPattern<DisassembleOp> {
|
||||
using OpConversionPattern::OpConversionPattern;
|
||||
SparseDisassembleOpConverter(TypeConverter &typeConverter,
|
||||
SparseDisassembleOpConverter(const TypeConverter &typeConverter,
|
||||
MLIRContext *context)
|
||||
: OpConversionPattern(typeConverter, context) {}
|
||||
|
||||
@@ -1604,7 +1604,7 @@ struct SparseHasRuntimeLibraryConverter
|
||||
/// Populates the given patterns list with conversion rules required for
|
||||
/// the sparsification of linear algebra operations.
|
||||
void mlir::populateSparseTensorCodegenPatterns(
|
||||
TypeConverter &typeConverter, RewritePatternSet &patterns,
|
||||
const TypeConverter &typeConverter, RewritePatternSet &patterns,
|
||||
bool createSparseDeallocs, bool enableBufferInitialization) {
|
||||
patterns.add<
|
||||
SparseAssembleOpConverter, SparseDisassembleOpConverter,
|
||||
|
||||
Reference in New Issue
Block a user