[Mlir-commits] [mlir] [mlir][math] Add VectorDialect dependency to MathToAPFloatConversion (PR #206212)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Jun 26 18:58:41 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Longsheng Mou (CoTinker)
<details>
<summary>Changes</summary>
Explicitly load VectorDialect as a dependent dialect in MathToAPFloatConversionPass to avoid unregistered dialect errors when generating vector ops. Fixes #<!-- -->206093.
---
Full diff: https://github.com/llvm/llvm-project/pull/206212.diff
2 Files Affected:
- (modified) mlir/include/mlir/Conversion/Passes.td (+5-1)
- (modified) mlir/test/Conversion/ArithAndMathToAPFloat/math-to-apfloat.mlir (+15-1)
``````````diff
diff --git a/mlir/include/mlir/Conversion/Passes.td b/mlir/include/mlir/Conversion/Passes.td
index 340ff8fdf2a8a..b92bc1cd31723 100644
--- a/mlir/include/mlir/Conversion/Passes.td
+++ b/mlir/include/mlir/Conversion/Passes.td
@@ -828,7 +828,11 @@ def MathToAPFloatConversionPass
calls (APFloatWrappers.cpp). APFloat is a software implementation of
floating-point mathmetic operations.
}];
- let dependentDialects = ["math::MathDialect", "func::FuncDialect"];
+ let dependentDialects = [
+ "math::MathDialect",
+ "func::FuncDialect",
+ "vector::VectorDialect"
+ ];
}
//===----------------------------------------------------------------------===//
diff --git a/mlir/test/Conversion/ArithAndMathToAPFloat/math-to-apfloat.mlir b/mlir/test/Conversion/ArithAndMathToAPFloat/math-to-apfloat.mlir
index e52eb5866093c..2fe1d0cda1e38 100644
--- a/mlir/test/Conversion/ArithAndMathToAPFloat/math-to-apfloat.mlir
+++ b/mlir/test/Conversion/ArithAndMathToAPFloat/math-to-apfloat.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt %s --convert-math-to-apfloat | FileCheck %s
+// RUN: mlir-opt %s --convert-math-to-apfloat -split-input-file | FileCheck %s
func.func @full_example() {
%neg14fp8 = arith.constant -1.4 : f8E4M3FN
@@ -64,3 +64,17 @@ func.func @full_example() {
// CHECK: %[[VAL_5:.*]] = call @_mlir_apfloat_isfinite(%[[CONSTANT_9]], %[[EXTUI_7]]) : (i32, i64) -> i1
// CHECK: return
// CHECK: }
+
+// -----
+
+// Ensure the Vector dialect is registered.
+
+// CHECK-LABEL: func @test_vector(
+// CHECK: vector.to_elements
+func.func @test_vector() {
+ %a1_vec = arith.constant dense<[2.0, 2.0, 2.0, 2.0]> : vector<4xf8E4M3FN>
+ %b1_vec = arith.constant dense<[4.0, 4.0, 4.0, 4.0]> : vector<4xf8E4M3FN>
+ %c1_vec = arith.constant dense<[8.0, 8.0, 8.0, 8.0]> : vector<4xf8E4M3FN>
+ %d1_vec = math.fma %a1_vec, %b1_vec, %c1_vec : vector<4xf8E4M3FN>
+ return
+}
``````````
</details>
https://github.com/llvm/llvm-project/pull/206212
More information about the Mlir-commits
mailing list