[Mlir-commits] [mlir] [mlir][Transforms][NFC] Rename `MaterializationCallbackFn` (PR #138814)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed May 7 00:40:39 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-core
Author: Matthias Springer (matthias-springer)
<details>
<summary>Changes</summary>
There are two kind of materialization callbacks: one for target materializations and one for source materializations. The callback type for target materializations is `TargetMaterializationCallbackFn`. This commit renames the one for source materializations from `MaterializationCallbackFn` to `SourceMaterializationCallbackFn`, for consistency.
There used to be a single callback type for both kind of materializations, but the materialization function signatures have changed over time.
Also clean up a few places in the documentation that still referred to argument materializations.
---
Full diff: https://github.com/llvm/llvm-project/pull/138814.diff
3 Files Affected:
- (modified) mlir/docs/DialectConversion.md (+2-2)
- (modified) mlir/include/mlir/Transforms/DialectConversion.h (+10-11)
- (modified) mlir/lib/Transforms/Utils/DialectConversion.cpp (+1-1)
``````````diff
diff --git a/mlir/docs/DialectConversion.md b/mlir/docs/DialectConversion.md
index f67d1411b3065..cf577eca5b9a6 100644
--- a/mlir/docs/DialectConversion.md
+++ b/mlir/docs/DialectConversion.md
@@ -338,7 +338,7 @@ class TypeConverter {
typename T = typename llvm::function_traits<FnT>::template arg_t<1>>
void addSourceMaterialization(FnT &&callback) {
sourceMaterializations.emplace_back(
- wrapMaterialization<T>(std::forward<FnT>(callback)));
+ wrapSourceMaterialization<T>(std::forward<FnT>(callback)));
}
/// This method registers a materialization that will be called when
@@ -362,7 +362,7 @@ class TypeConverter {
typename T = typename llvm::function_traits<FnT>::template arg_t<1>>
void addTargetMaterialization(FnT &&callback) {
targetMaterializations.emplace_back(
- wrapMaterialization<T>(std::forward<FnT>(callback)));
+ wrapTargetMaterialization<T>(std::forward<FnT>(callback)));
}
};
```
diff --git a/mlir/include/mlir/Transforms/DialectConversion.h b/mlir/include/mlir/Transforms/DialectConversion.h
index b65b3ea971f91..e7d05c3ce1adf 100644
--- a/mlir/include/mlir/Transforms/DialectConversion.h
+++ b/mlir/include/mlir/Transforms/DialectConversion.h
@@ -186,7 +186,7 @@ class TypeConverter {
std::decay_t<FnT>>::template arg_t<1>>
void addSourceMaterialization(FnT &&callback) {
sourceMaterializations.emplace_back(
- wrapMaterialization<T>(std::forward<FnT>(callback)));
+ wrapSourceMaterialization<T>(std::forward<FnT>(callback)));
}
/// This method registers a materialization that will be called when
@@ -330,11 +330,10 @@ class TypeConverter {
using ConversionCallbackFn = std::function<std::optional<LogicalResult>(
Type, SmallVectorImpl<Type> &)>;
- /// The signature of the callback used to materialize a source/argument
- /// conversion.
+ /// The signature of the callback used to materialize a source conversion.
///
/// Arguments: builder, result type, inputs, location
- using MaterializationCallbackFn =
+ using SourceMaterializationCallbackFn =
std::function<Value(OpBuilder &, Type, ValueRange, Location)>;
/// The signature of the callback used to materialize a target conversion.
@@ -387,12 +386,12 @@ class TypeConverter {
cachedMultiConversions.clear();
}
- /// Generate a wrapper for the given argument/source materialization
- /// callback. The callback may take any subclass of `Type` and the
- /// wrapper will check for the target type to be of the expected class
- /// before calling the callback.
+ /// Generate a wrapper for the given source materialization callback. The
+ /// callback may take any subclass of `Type` and the wrapper will check for
+ /// the target type to be of the expected class before calling the callback.
template <typename T, typename FnT>
- MaterializationCallbackFn wrapMaterialization(FnT &&callback) const {
+ SourceMaterializationCallbackFn
+ wrapSourceMaterialization(FnT &&callback) const {
return [callback = std::forward<FnT>(callback)](
OpBuilder &builder, Type resultType, ValueRange inputs,
Location loc) -> Value {
@@ -491,7 +490,7 @@ class TypeConverter {
SmallVector<ConversionCallbackFn, 4> conversions;
/// The list of registered materialization functions.
- SmallVector<MaterializationCallbackFn, 2> sourceMaterializations;
+ SmallVector<SourceMaterializationCallbackFn, 2> sourceMaterializations;
SmallVector<TargetMaterializationCallbackFn, 2> targetMaterializations;
/// The list of registered type attribute conversion functions.
@@ -740,7 +739,7 @@ class ConversionPatternRewriter final : public PatternRewriter {
///
/// Optionally, a type converter can be provided to build materializations.
/// Note: If no type converter was provided or the type converter does not
- /// specify any suitable argument/target materialization rules, the dialect
+ /// specify any suitable source/target materialization rules, the dialect
/// conversion may fail to legalize unresolved materializations.
Block *
applySignatureConversion(Block *block,
diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index d50c26a0fd92e..0d208ce0f2f25 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -2959,7 +2959,7 @@ TypeConverter::convertSignatureArgs(TypeRange types,
Value TypeConverter::materializeSourceConversion(OpBuilder &builder,
Location loc, Type resultType,
ValueRange inputs) const {
- for (const MaterializationCallbackFn &fn :
+ for (const SourceMaterializationCallbackFn &fn :
llvm::reverse(sourceMaterializations))
if (Value result = fn(builder, resultType, inputs, loc))
return result;
``````````
</details>
https://github.com/llvm/llvm-project/pull/138814
More information about the Mlir-commits
mailing list