Skip to content

Conversation

keshavvinayak01
Copy link
Contributor

@keshavvinayak01 keshavvinayak01 commented Oct 13, 2025

Added Pattern for lowering Math::ClampFOp to ROCDL::FMED3.
Also added chipet option to MathToRocdl pass to check for arch support ISA instructions

Solves #15072

Reapplies #160100

@llvmbot
Copy link
Member

llvmbot commented Oct 13, 2025

@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-gpu

Author: Keshav Vinayak Jha (keshavvinayak01)

Changes

Added Pattern for lowering Math::ClampFOp to ROCDL::FMED3.
Also added chipet option to MathToRocdl pass to check for arch support ISA instructions

Solves #15072


Patch is 52.62 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/163259.diff

5 Files Affected:

  • (modified) mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h (+3-1)
  • (modified) mlir/include/mlir/Conversion/Passes.td (+8)
  • (modified) mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp (+1-1)
  • (modified) mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp (+45-9)
  • (modified) mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir (+688-253)
diff --git a/mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h b/mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
index 46573e7966ccc..770f257d89bd5 100644
--- a/mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
+++ b/mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
@@ -9,6 +9,7 @@
 #define MLIR_CONVERSION_MATHTOROCDL_MATHTOROCDL_H_
 
 #include "mlir/Conversion/LLVMCommon/TypeConverter.h"
+#include "mlir/Dialect/AMDGPU/Utils/Chipset.h"
 #include "mlir/IR/PatternMatch.h"
 #include <memory>
 
@@ -20,7 +21,8 @@ class Pass;
 
 /// Populate the given list with patterns that convert from Math to ROCDL calls.
 void populateMathToROCDLConversionPatterns(const LLVMTypeConverter &converter,
-                                           RewritePatternSet &patterns);
+                                           RewritePatternSet &patterns,
+                                           amdgpu::Chipset chipset);
 } // namespace mlir
 
 #endif // MLIR_CONVERSION_MATHTOROCDL_MATHTOROCDL_H_
diff --git a/mlir/include/mlir/Conversion/Passes.td b/mlir/include/mlir/Conversion/Passes.td
index 3c18ecc753d0f..c3fd397e258ae 100644
--- a/mlir/include/mlir/Conversion/Passes.td
+++ b/mlir/include/mlir/Conversion/Passes.td
@@ -755,6 +755,14 @@ def ConvertMathToLibmPass : Pass<"convert-math-to-libm", "ModuleOp"> {
     "func::FuncDialect",
     "vector::VectorDialect",
   ];
+  let options = [
+     Option<"chipset", "chipset", "std::string",
+
+
+          /*default=*/"\"gfx000\"",
+          "Chipset that these operations will run on">
+  ];
+
 }
 
 //===----------------------------------------------------------------------===//
diff --git a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
index b215211e131d4..c03f3a5d3889c 100644
--- a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
+++ b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
@@ -484,5 +484,5 @@ void mlir::populateGpuToROCDLConversionPatterns(
                GPUSubgroupBroadcastOpToROCDL>(converter);
   patterns.add<GPUSubgroupSizeOpToROCDL>(converter, chipset);
 
-  populateMathToROCDLConversionPatterns(converter, patterns);
+  populateMathToROCDLConversionPatterns(converter, patterns, chipset);
 }
diff --git a/mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp b/mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
index df219f3ff4f6e..ceb3d22c6bd59 100644
--- a/mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
+++ b/mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
@@ -10,6 +10,7 @@
 #include "mlir/Conversion/GPUCommon/GPUCommonPass.h"
 #include "mlir/Conversion/LLVMCommon/LoweringOptions.h"
 #include "mlir/Conversion/LLVMCommon/TypeConverter.h"
+#include "mlir/Dialect/AMDGPU/Utils/Chipset.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
@@ -42,8 +43,39 @@ static void populateOpPatterns(const LLVMTypeConverter &converter,
                                            f32ApproxFunc, f16Func);
 }
 
+struct ClampFOpConversion final
+    : public ConvertOpToLLVMPattern<math::ClampFOp> {
+  using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
+  ClampFOpConversion(const LLVMTypeConverter &converter,
+                     amdgpu::Chipset chipset)
+      : ConvertOpToLLVMPattern<math::ClampFOp>(converter), chipset(chipset) {}
+
+  LogicalResult
+  matchAndRewrite(math::ClampFOp op, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    // V_MED3_F16/F32 only exists in gfx9+ artchitectures
+    if (chipset.majorVersion < 9) {
+      return rewriter.notifyMatchFailure(
+          op, ("pre-gfx9 (gfx" + std::to_string(chipset.majorVersion) +
+               "): V_MED_F16 / V_MED3_F32 not supported."));
+    }
+    rewriter.replaceOpWithNewOp<ROCDL::FMed3Op>(op, op.getType(), op.getValue(),
+                                                op.getMin(), op.getMax());
+    return success();
+  }
+  amdgpu::Chipset chipset;
+};
+
+static void addChipsetDependentPatterns(const LLVMTypeConverter &converter,
+                                        RewritePatternSet &patterns,
+                                        amdgpu::Chipset chipset) {
+
+  patterns.add<ClampFOpConversion>(converter, chipset);
+}
+
 void mlir::populateMathToROCDLConversionPatterns(
-    const LLVMTypeConverter &converter, RewritePatternSet &patterns) {
+    const LLVMTypeConverter &converter, RewritePatternSet &patterns,
+    amdgpu::Chipset chipset) {
   // Handled by mathToLLVM: math::AbsIOp
   // Handled by mathToLLVM: math::AbsFOp
   // Handled by mathToLLVM: math::CopySignOp
@@ -118,27 +150,31 @@ void mlir::populateMathToROCDLConversionPatterns(
   // worth creating a separate pass for it.
   populateOpPatterns<arith::RemFOp>(converter, patterns, "__ocml_fmod_f32",
                                     "__ocml_fmod_f64", "__ocml_fmod_f16");
+
+  addChipsetDependentPatterns(converter, patterns, chipset);
 }
 
-namespace {
-struct ConvertMathToROCDLPass
-    : public impl::ConvertMathToROCDLBase<ConvertMathToROCDLPass> {
-  ConvertMathToROCDLPass() = default;
+struct ConvertMathToROCDLPass final
+    : impl::ConvertMathToROCDLBase<ConvertMathToROCDLPass> {
+  using impl::ConvertMathToROCDLBase<
+      ConvertMathToROCDLPass>::ConvertMathToROCDLBase;
+
   void runOnOperation() override;
 };
-} // namespace
 
 void ConvertMathToROCDLPass::runOnOperation() {
   auto m = getOperation();
   MLIRContext *ctx = m.getContext();
+  FailureOr<amdgpu::Chipset> maybeChipset = amdgpu::Chipset::parse(chipset);
 
   RewritePatternSet patterns(&getContext());
   LowerToLLVMOptions options(ctx, DataLayout(m));
   LLVMTypeConverter converter(ctx, options);
-  populateMathToROCDLConversionPatterns(converter, patterns);
+  populateMathToROCDLConversionPatterns(converter, patterns, *maybeChipset);
   ConversionTarget target(getContext());
-  target.addLegalDialect<BuiltinDialect, func::FuncDialect,
-                         vector::VectorDialect, LLVM::LLVMDialect>();
+  target
+      .addLegalDialect<BuiltinDialect, func::FuncDialect, vector::VectorDialect,
+                       LLVM::LLVMDialect, ROCDL::ROCDLDialect>();
   target.addIllegalOp<LLVM::CosOp, LLVM::ExpOp, LLVM::Exp2Op, LLVM::FAbsOp,
                       LLVM::FCeilOp, LLVM::FFloorOp, LLVM::FRemOp, LLVM::LogOp,
                       LLVM::Log10Op, LLVM::Log2Op, LLVM::PowOp, LLVM::SinOp,
diff --git a/mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir b/mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
index dbff23339d8b3..29851e2de5cb2 100644
--- a/mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
+++ b/mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
@@ -1,18 +1,40 @@
-// RUN: mlir-opt %s -convert-math-to-rocdl -allow-unregistered-dialect -split-input-file | FileCheck %s
+// RUN: mlir-opt %s -allow-unregistered-dialect -split-input-file
+// -pass-pipeline='builtin.module(convert-math-to-rocdl{chipset=gfx803})' |
+// FileCheck %s --check-prefix=PRE9 RUN: mlir-opt %s -allow-unregistered-dialect
+// -split-input-file
+// -pass-pipeline='builtin.module(convert-math-to-rocdl{chipset=gfx942})' |
+// FileCheck %s --check-prefix=POST9
 
 module @test_module {
   // CHECK: llvm.func @__ocml_fmod_f16(f16, f16) -> f16
   // CHECK: llvm.func @__ocml_fmod_f32(f32, f32) -> f32
   // CHECK: llvm.func @__ocml_fmod_f64(f64, f64) -> f64
   // CHECK-LABEL: func @arith_remf
-  func.func @arith_remf(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = arith.remf %arg_f16, %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_fmod_f16(%{{.*}}, %{{.*}}) : (f16, f16) -> f16
-    %result32 = arith.remf %arg_f32, %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_fmod_f32(%{{.*}}, %{{.*}}) : (f32, f32) -> f32
-    %result64 = arith.remf %arg_f64, %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_fmod_f64(%{{.*}}, %{{.*}}) : (f64, f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @arith_remf(% arg_f16
+                        : f16, % arg_f32
+                        : f32, % arg_f64
+                        : f64)
+      ->(f16, f32, f64) {
+    % result16 = arith.remf % arg_f16,
+      %
+          arg_f16 : f16
+                    // CHECK: llvm.call @__ocml_fmod_f16(%{{.*}}, %{{.*}}) :
+                    // (f16, f16) -> f16
+                    %
+                    result32 = arith.remf % arg_f32,
+      %
+          arg_f32 : f32
+                    // CHECK: llvm.call @__ocml_fmod_f32(%{{.*}}, %{{.*}}) :
+                    // (f32, f32) -> f32
+                    %
+                    result64 = arith.remf % arg_f64,
+      %
+          arg_f64 : f64
+                        // CHECK: llvm.call @__ocml_fmod_f64(%{{.*}}, %{{.*}}) :
+                        // (f64, f64) -> f64
+                            func.return %
+          result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -23,14 +45,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_acos_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_acos_f64(f64) -> f64
   // CHECK-LABEL: func @math_acos
-  func.func @math_acos(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.acos %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_acos_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.acos %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_acos_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.acos %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_acos_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_acos(% arg_f16
+                       : f16, % arg_f32
+                       : f32, % arg_f64
+                       : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.acos %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_acos_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.acos %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_acos_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.acos %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_acos_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -41,14 +77,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_acosh_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_acosh_f64(f64) -> f64
   // CHECK-LABEL: func @math_acosh
-  func.func @math_acosh(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.acosh %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_acosh_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.acosh %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_acosh_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.acosh %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_acosh_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_acosh(% arg_f16
+                        : f16, % arg_f32
+                        : f32, % arg_f64
+                        : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.acosh %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_acosh_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.acosh %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_acosh_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.acosh %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_acosh_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -59,14 +109,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_asin_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_asin_f64(f64) -> f64
   // CHECK-LABEL: func @math_asin
-  func.func @math_asin(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.asin %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_asin_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.asin %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_asin_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.asin %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_asin_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_asin(% arg_f16
+                       : f16, % arg_f32
+                       : f32, % arg_f64
+                       : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.asin %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_asin_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.asin %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_asin_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.asin %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_asin_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -77,14 +141,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_asinh_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_asinh_f64(f64) -> f64
   // CHECK-LABEL: func @math_asinh
-  func.func @math_asinh(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.asinh %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_asinh_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.asinh %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_asinh_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.asinh %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_asinh_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_asinh(% arg_f16
+                        : f16, % arg_f32
+                        : f32, % arg_f64
+                        : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.asinh %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_asinh_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.asinh %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_asinh_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.asinh %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_asinh_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -95,14 +173,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_atan_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_atan_f64(f64) -> f64
   // CHECK-LABEL: func @math_atan
-  func.func @math_atan(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.atan %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_atan_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.atan %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_atan_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.atan %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_atan_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_atan(% arg_f16
+                       : f16, % arg_f32
+                       : f32, % arg_f64
+                       : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.atan %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_atan_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.atan %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_atan_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.atan %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_atan_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -113,14 +205,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_atanh_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_atanh_f64(f64) -> f64
   // CHECK-LABEL: func @math_atanh
-  func.func @math_atanh(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.atanh %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_atanh_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.atanh %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_atanh_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.atanh %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_atanh_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_atanh(% arg_f16
+                        : f16, % arg_f32
+                        : f32, % arg_f64
+                        : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.atanh %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_atanh_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.atanh %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_atanh_f32(%{{.*}}) : (f32) -> f32
+          %
+          result64 = math.atanh %
+                     arg_f64
+        : f64
+              // CHECK: llvm.call @__ocml_atanh_f64(%{{.*}}) : (f64) -> f64
+              func.return %
+                     result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -131,14 +237,31 @@ module @test_module {
   // CHECK: llvm.func @__ocml_atan2_f32(f32, f32) -> f32
   // CHECK: llvm.func @__ocml_atan2_f64(f64, f64) -> f64
   // CHECK-LABEL: func @math_atan2
-  func.func @math_atan2(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.atan2 %arg_f16, %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_atan2_f16(%{{.*}}, %{{.*}}) : (f16, f16) -> f16
-    %result32 = math.atan2 %arg_f32, %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_atan2_f32(%{{.*}}, %{{.*}}) : (f32, f32) -> f32
-    %result64 = math.atan2 %arg_f64, %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_atan2_f64(%{{.*}}, %{{.*}}) : (f64, f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_atan2(% arg_f16
+                        : f16, % arg_f32
+                        : f32, % arg_f64
+                        : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.atan2 % arg_f16,
+      %
+          arg_f16 : f16
+                    // CHECK: llvm.call @__ocml_atan2_f16(%{{.*}}, %{{.*}}) :
+                    // (f16, f16) -> f16
+                    %
+                    result32 = math.atan2 % arg_f32,
+      %
+          arg_f32 : f32
+                    // CHECK: llvm.call @__ocml_atan2_f32(%{{.*}}, %{{.*}}) :
+                    // (f32, f32) -> f32
+                    %
+                    result64 = math.atan2 % arg_f64,
+      %
+          arg_f64 : f64
+                        // CHECK: llvm.call @__ocml_atan2_f64(%{{.*}}, %{{.*}})
+                        // : (f64, f64) -> f64
+                            func.return %
+          result16,
+      % result32, % result64 : f16, f32, f64
   }
 }
 
@@ -149,14 +272,28 @@ module @test_module {
   // CHECK: llvm.func @__ocml_cbrt_f32(f32) -> f32
   // CHECK: llvm.func @__ocml_cbrt_f64(f64) -> f64
   // CHECK-LABEL: func @math_cbrt
-  func.func @math_cbrt(%arg_f16 : f16, %arg_f32 : f32, %arg_f64 : f64) -> (f16, f32, f64) {
-    %result16 = math.cbrt %arg_f16 : f16
-    // CHECK: llvm.call @__ocml_cbrt_f16(%{{.*}}) : (f16) -> f16
-    %result32 = math.cbrt %arg_f32 : f32
-    // CHECK: llvm.call @__ocml_cbrt_f32(%{{.*}}) : (f32) -> f32
-    %result64 = math.cbrt %arg_f64 : f64
-    // CHECK: llvm.call @__ocml_cbrt_f64(%{{.*}}) : (f64) -> f64
-    func.return %result16, %result32, %result64 : f16, f32, f64
+  func.func @math_cbrt(% arg_f16
+                       : f16, % arg_f32
+                       : f32, % arg_f64
+                       : f64)
+      ->(f16, f32, f64) {
+    % result16 = math.cbrt %
+                 arg_f16
+        : f16
+          // CHECK: llvm.call @__ocml_cbrt_f16(%{{.*}}) : (f16) -> f16
+          %
+          result32 = math.cbrt %
+                     arg_f32
+        : f32
+          // CHECK: llvm.call @__ocml_cbrt_f32(%{{.*}}) : (f...
[truncated]

Signed-off-by: Keshav Vinayak Jha <[email protected]>
@keshavvinayak01 keshavvinayak01 marked this pull request as ready for review October 13, 2025 20:01
@keshavvinayak01
Copy link
Contributor Author

To reference @krzysz00 comments:

Ok, so, two questions

  1. Do we know if this instruction is available on gfx10-12?
  2. Which types are supported?
  3. Are there any known differences between clampf and fmed3 in terms of NaN handling and the like?
  1. Yes, I looked up the documentation (on GFX12 specifically, it was renamed to V_MED3_NUM_(F16/F32) specifically, but it exists.
  2. V_MED3_(f16/f32) are valid for half and float types. There are other med3 ops for int, uint, etc; but we're not adding support for them at the moment.
  3. From what I can find, fmed3 with any NaN input will propagate the NaN. I'm not sure / can't find what happens with clampf on AMDGPUs in this case.

Applied changes as per other suggestions.

@fabianmcg fabianmcg changed the title [MLIR][ROCDL] Added math.clampf -> rocdl.fmed3 conversion [MLIR][ROCDL] Add math.clampf -> rocdl.fmed3 conversion Oct 13, 2025
Signed-off-by: Keshav Vinayak Jha <[email protected]>
1. Added lit test for 1D and 2D vectors
2. Added unrolling support for ND inputs

Signed-off-by: Keshav Vinayak Jha <[email protected]>
Signed-off-by: Keshav Vinayak Jha <[email protected]>
Copy link
Contributor

@krzysz00 krzysz00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider LLVM::detail::vectorOneToOneRewrite to make the pattern shorter?

But this looks fundamentally fine

@krzysz00 krzysz00 merged commit 1e6df64 into llvm:main Oct 14, 2025
10 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 14, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-9-cmake-build-only running on rocm-docker-rhel-9 while building mlir at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/205/builds/24997

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7119/8132] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/Options.cpp.o
[7120/8132] Building CXX object tools/clang/tools/clang-fuzzer/handle-cxx/CMakeFiles/obj.clangHandleCXX.dir/handle_cxx.cpp.o
[7121/8132] Linking CXX shared library lib/libMLIRGPUToLLVMSPV.so.22.0git
[7122/8132] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o
[7123/8132] Creating library symlink lib/libMLIRGPUToLLVMSPV.so
[7124/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMathDiale
ct.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: in function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x229): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7125/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.cpp:9:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7126/8132] Linking CXX shared library lib/libMLIRNVGPUToNVVM.so.22.0git
[7127/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterUtils.cpp.o
[7128/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Value.cpp.o
[7129/8132] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
[7130/8132] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
[7131/8132] Linking CXX shared library lib/libclangHandleCXX.so.22.0git
[7132/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/InterpreterValuePrinter.cpp:13:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7133/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/Interpreter.cpp:15:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7134/8132] Linking CXX shared library lib/libclangTransformer.so.22.0git
[7135/8132] Linking CXX shared library lib/libclangStaticAnalyzerCore.so.22.0git
[7136/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexer.cpp.o
[7137/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexDiagnostic.cpp.o
[7138/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexUSRs.cpp.o
[7139/8132] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[7140/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXComment.cpp.o
[7141/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o
[7142/8132] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
[7143/8132] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
[7144/8132] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
[7145/8132] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7119/8132] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/Options.cpp.o
[7120/8132] Building CXX object tools/clang/tools/clang-fuzzer/handle-cxx/CMakeFiles/obj.clangHandleCXX.dir/handle_cxx.cpp.o
[7121/8132] Linking CXX shared library lib/libMLIRGPUToLLVMSPV.so.22.0git
[7122/8132] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o
[7123/8132] Creating library symlink lib/libMLIRGPUToLLVMSPV.so
[7124/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMathDiale
ct.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: in function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x229): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7125/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.cpp:9:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7126/8132] Linking CXX shared library lib/libMLIRNVGPUToNVVM.so.22.0git
[7127/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterUtils.cpp.o
[7128/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Value.cpp.o
[7129/8132] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
[7130/8132] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
[7131/8132] Linking CXX shared library lib/libclangHandleCXX.so.22.0git
[7132/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/InterpreterValuePrinter.cpp:13:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7133/8132] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/Interpreter.cpp:15:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[7134/8132] Linking CXX shared library lib/libclangTransformer.so.22.0git
[7135/8132] Linking CXX shared library lib/libclangStaticAnalyzerCore.so.22.0git
[7136/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexer.cpp.o
[7137/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexDiagnostic.cpp.o
[7138/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexUSRs.cpp.o
[7139/8132] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[7140/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXComment.cpp.o
[7141/8132] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o
[7142/8132] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
[7143/8132] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
[7144/8132] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
[7145/8132] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 14, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-8-cmake-build-only running on rocm-docker-rhel-8 while building mlir at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/204/builds/25020

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[7187/8132] Linking CXX executable bin/clang-check
[7188/8132] Creating executable symlink bin/clang
[7189/8132] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
[7190/8132] Linking CXX executable bin/c-index-test
[7191/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Fortran-features.cpp.o
[7192/8132] Linking CXX executable bin/clang-repl
[7193/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Version.cpp.o
[7194/8132] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[7195/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Timing.cpp.o
[7196/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMathDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIR
Analysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  -lpthread  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: In function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias.1]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x242): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7197/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o
[7198/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/SafeTempArrayCopyAttrInterface.cpp.o
[7199/8132] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[7200/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o
[7201/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[7202/8132] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[7203/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o
[7204/8132] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[7205/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Complex.cpp.o
[7206/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o
[7207/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/Support/CMakeFiles/FIRDialectSupport.dir/FIRContext.cpp.o
[7208/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/Support/CMakeFiles/FIRDialectSupport.dir/KindMapping.cpp.o
[7209/8132] Linking CXX shared library lib/libclang-cpp.so.22.0git
[7210/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/BoxValue.cpp.o
[7211/8132] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[7212/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFDialect.cpp.o
[7213/8132] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/TBAAForest.cpp.o
[7214/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Character.cpp.o
[7215/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[7216/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
[7217/8132] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[7218/8132] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
[7219/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFOps.cpp.o
[7220/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/CUFCommon.cpp.o
[7221/8132] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7222/8132] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7223/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7224/8132] Building CXX object tools/flang/lib/FrontendTool/CMakeFiles/flangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[7225/8132] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7226/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[7227/8132] Building CXX object tools/flang/lib/Utils/CMakeFiles/FortranUtils.dir/OpenMP.cpp.o
[7228/8132] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/cmake_pch.hxx.gch
[7229/8132] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/cmake_pch.hxx.gch
Step 7 (build cmake config) failure: build cmake config (failure)
...
[7187/8132] Linking CXX executable bin/clang-check
[7188/8132] Creating executable symlink bin/clang
[7189/8132] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
[7190/8132] Linking CXX executable bin/c-index-test
[7191/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Fortran-features.cpp.o
[7192/8132] Linking CXX executable bin/clang-repl
[7193/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Version.cpp.o
[7194/8132] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[7195/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Timing.cpp.o
[7196/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMathDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIR
Analysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  -lpthread  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: In function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias.1]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x242): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7197/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o
[7198/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/SafeTempArrayCopyAttrInterface.cpp.o
[7199/8132] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[7200/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o
[7201/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[7202/8132] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[7203/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o
[7204/8132] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[7205/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Complex.cpp.o
[7206/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o
[7207/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/Support/CMakeFiles/FIRDialectSupport.dir/FIRContext.cpp.o
[7208/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/Support/CMakeFiles/FIRDialectSupport.dir/KindMapping.cpp.o
[7209/8132] Linking CXX shared library lib/libclang-cpp.so.22.0git
[7210/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/BoxValue.cpp.o
[7211/8132] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[7212/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFDialect.cpp.o
[7213/8132] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/TBAAForest.cpp.o
[7214/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Character.cpp.o
[7215/8132] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[7216/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
[7217/8132] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[7218/8132] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
[7219/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFOps.cpp.o
[7220/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/CUFCommon.cpp.o
[7221/8132] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7222/8132] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7223/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7224/8132] Building CXX object tools/flang/lib/FrontendTool/CMakeFiles/flangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[7225/8132] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7226/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[7227/8132] Building CXX object tools/flang/lib/Utils/CMakeFiles/FortranUtils.dir/OpenMP.cpp.o
[7228/8132] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/cmake_pch.hxx.gch
[7229/8132] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/cmake_pch.hxx.gch

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 14, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-ubuntu-22-cmake-build-only running on rocm-docker-ubu-22 while building mlir at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/203/builds/26208

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[7193/8132] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
[7194/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o
[7195/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/SafeTempArrayCopyAttrInterface.cpp.o
[7196/8132] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[7197/8132] Linking CXX shared library lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git
[7198/8132] Creating library symlink lib/libMLIRGPUToGPURuntimeTransforms.so
[7199/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[7200/8132] Linking CXX shared library lib/libMLIRGPUToLLVMSPV.so.22.0git
[7201/8132] Creating library symlink lib/libMLIRGPUToLLVMSPV.so
[7202/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMat
hDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: in function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x240): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7203/8132] Linking CXX shared library lib/libMLIRNVGPUToNVVM.so.22.0git
[7204/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o
[7205/8132] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[7206/8132] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[7207/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Execute.cpp.o
[7208/8132] Linking CXX shared library lib/libclang-cpp.so.22.0git
[7209/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Derived.cpp.o
[7210/8132] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[7211/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Pointer.cpp.o
[7212/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Exceptions.cpp.o
[7213/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Ragged.cpp.o
[7214/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Inquiry.cpp.o
[7215/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/EnvironmentDefaults.cpp.o
[7216/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Stop.cpp.o
[7217/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/DataLayout.cpp.o
[7218/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFToLLVMIRTranslation.cpp.o
[7219/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/FIRCG/CMakeFiles/FIRCodeGenDialect.dir/CGOps.cpp.o
[7220/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/Utils.cpp.o
[7221/8132] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[7222/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
[7223/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Support.cpp.o
[7224/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Numeric.cpp.o
[7225/8132] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffinePromotion.cpp.o
[7226/8132] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[7227/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFOps.cpp.o
[7228/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Reduction.cpp.o
[7229/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7230/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/InitFIR.cpp.o
[7231/8132] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[7232/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Intrinsics.cpp.o
[7233/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Main.cpp.o
[7234/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[7235/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[7193/8132] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
[7194/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o
[7195/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/SafeTempArrayCopyAttrInterface.cpp.o
[7196/8132] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[7197/8132] Linking CXX shared library lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git
[7198/8132] Creating library symlink lib/libMLIRGPUToGPURuntimeTransforms.so
[7199/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[7200/8132] Linking CXX shared library lib/libMLIRGPUToLLVMSPV.so.22.0git
[7201/8132] Creating library symlink lib/libMLIRGPUToLLVMSPV.so
[7202/8132] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libLLVMAMDGPUAsmParser.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMat
hDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMAMDGPUCodeGen.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAMDGPUDesc.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMAMDGPUInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o: in function `ConvertMathToROCDLPass::runOnOperation() [clone .localalias]':
MathToROCDL.cpp:(.text._ZN22ConvertMathToROCDLPass14runOnOperationEv+0x240): undefined reference to `mlir::amdgpu::Chipset::parse(llvm::StringRef)'
collect2: error: ld returned 1 exit status
[7203/8132] Linking CXX shared library lib/libMLIRNVGPUToNVVM.so.22.0git
[7204/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o
[7205/8132] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[7206/8132] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[7207/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Execute.cpp.o
[7208/8132] Linking CXX shared library lib/libclang-cpp.so.22.0git
[7209/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Derived.cpp.o
[7210/8132] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[7211/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Pointer.cpp.o
[7212/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Exceptions.cpp.o
[7213/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Ragged.cpp.o
[7214/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Inquiry.cpp.o
[7215/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/EnvironmentDefaults.cpp.o
[7216/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Stop.cpp.o
[7217/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/DataLayout.cpp.o
[7218/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFToLLVMIRTranslation.cpp.o
[7219/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/FIRCG/CMakeFiles/FIRCodeGenDialect.dir/CGOps.cpp.o
[7220/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/Utils.cpp.o
[7221/8132] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[7222/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
[7223/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Support.cpp.o
[7224/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Numeric.cpp.o
[7225/8132] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffinePromotion.cpp.o
[7226/8132] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[7227/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFOps.cpp.o
[7228/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Reduction.cpp.o
[7229/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7230/8132] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/InitFIR.cpp.o
[7231/8132] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[7232/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Intrinsics.cpp.o
[7233/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Main.cpp.o
[7234/8132] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o
[7235/8132] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o

fabianmcg added a commit that referenced this pull request Oct 14, 2025
fabianmcg added a commit that referenced this pull request Oct 14, 2025
…3447)

Reverts #163259. Reverting due to missing link libraries
causing failures in shared build bots.
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 14, 2025

LLVM Buildbot has detected a new failure on builder mlir-nvidia running on mlir-nvidia while building mlir at step 6 "build-check-mlir-build-only".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/138/builds/20429

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
184.055 [596/16/4873] Building CXX object tools/mlir/unittests/Dialect/Index/CMakeFiles/MLIRIndexOpsTests.dir/IndexOpsFoldersTest.cpp.o
184.055 [595/16/4874] Linking CXX shared library lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git
184.064 [594/16/4875] Creating library symlink lib/libMLIRGPUToGPURuntimeTransforms.so
184.152 [593/16/4876] Linking CXX executable tools/mlir/unittests/Conversion/PDLToPDLInterp/MLIRPDLToPDLInterpTests
184.174 [592/16/4877] Linking CXX executable tools/mlir/unittests/Analysis/Presburger/MLIRPresburgerTests
184.189 [591/16/4878] Linking CXX executable tools/mlir/unittests/Dialect/Index/MLIRIndexOpsTests
184.267 [590/16/4879] Linking CXX shared library lib/libMLIRGPUToLLVMSPV.so.22.0git
184.276 [589/16/4880] Creating library symlink lib/libMLIRGPUToLLVMSPV.so
184.392 [588/16/4881] Linking CXX shared library lib/libMLIRGPUToNVVMTransforms.so.22.0git
184.394 [587/16/4882] Linking CXX shared library lib/libMLIRMathToROCDL.so.22.0git
FAILED: lib/libMLIRMathToROCDL.so.22.0git 
: && /usr/bin/clang++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -Werror=global-constructors -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libMLIRMathToROCDL.so.22.0git -o lib/libMLIRMathToROCDL.so.22.0git tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRGPUToGPURuntimeTransforms.so.22.0git  lib/libMLIRAsyncToLLVM.so.22.0git  lib/libMLIRConvertToLLVMPass.so.22.0git  lib/libMLIRConvertToLLVMInterface.so.22.0git  lib/libMLIRFuncToLLVM.so.22.0git  lib/libMLIRArithToLLVM.so.22.0git  lib/libMLIRControlFlowToLLVM.so.22.0git  lib/libMLIRGPUTransforms.so.22.0git  lib/libMLIRAsyncDialect.so.22.0git  lib/libMLIRAMDGPUDialect.so.22.0git  lib/libMLIRIndexDialect.so.22.0git  lib/libMLIRNVVMTarget.so.22.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLTarget.so.22.0git  lib/libMLIRTargetLLVM.so.22.0git  lib/libMLIRExecutionEngineUtils.so.22.0git  lib/libLLVMPasses.so.22.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.22.0git  lib/libMLIRROCDLDialect.so.22.0git  lib/libMLIRSPIRVTarget.so.22.0git  lib/libMLIRSPIRVSerialization.so.22.0git  lib/libMLIRSPIRVDialect.so.22.0git  lib/libMLIRSPIRVImageInterfaces.so.22.0git  lib/libMLIRSPIRVBinaryUtils.so.22.0git  lib/libMLIRXeVMDialect.so.22.0git  lib/libMLIRMemRefToLLVM.so.22.0git  lib/libMLIRVectorToLLVM.so.22.0git  lib/libMLIRLLVMCommonConversion.so.22.0git  lib/libMLIRArithAttrToLLVMConversion.so.22.0git  lib/libMLIRTargetLLVMIRExport.so.22.0git  lib/libMLIRLLVMIRTransforms.so.22.0git  lib/libMLIRNVVMDialect.so.22.0git  lib/libMLIRLLVMDialect.so.22.0git  lib/libMLIRPtrMemorySpaceInterfaces.so.22.0git  lib/libMLIRTranslateLib.so.22.0git  lib/libMLIRVectorTransforms.so.22.0git  lib/libMLIRGPUUtils.so.22.0git  lib/libMLIRLinalgDialect.so.22.0git  lib/libMLIRParser.so.22.0git  lib/libMLIRBytecodeReader.so.22.0git  lib/libMLIRAsmParser.so.22.0git  lib/libMLIRMemRefTransforms.so.22.0git  lib/libMLIRArithTransforms.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.so.22.0git  lib/libMLIRMemRefUtils.so.22.0git  lib/libMLIRAffineTransforms.so.22.0git  lib/libMLIRVectorUtils.so.22.0git  lib/libMLIRVectorDialect.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRAffineUtils.so.22.0git  lib/libMLIRSCFUtils.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTransforms.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRAffineAnalysis.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRNVGPUDialect.so.22.0git  lib/libMLIRGPUDialect.so.22.0git  lib/libMLIRMathDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRDLTIDialect.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMNVPTXCodeGen.so.22.0git  lib/libLLVMipo.so.22.0git  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMFrontendOffloading.so.22.0git  lib/libLLVMLinker.so.22.0git  lib/libLLVMTarget.so.22.0git  lib/libLLVMBitWriter.so.22.0git  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMMCParser.so.22.0git  lib/libLLVMIRReader.so.22.0git  lib/libLLVMAsmParser.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMNVPTXDesc.so.22.0git  lib/libLLVMNVPTXInfo.so.22.0git  lib/libLLVMMC.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib && :
ld.lld: error: undefined symbol: mlir::amdgpu::Chipset::parse(llvm::StringRef)
>>> referenced by MathToROCDL.cpp
>>>               tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o:(ConvertMathToROCDLPass::runOnOperation())
clang: error: linker command failed with exit code 1 (use -v to see invocation)
184.401 [587/15/4883] Creating library symlink lib/libMLIRGPUToNVVMTransforms.so
184.405 [587/14/4884] Linking CXX shared library lib/libMLIRNVGPUToNVVM.so.22.0git
184.424 [587/13/4885] Linking CXX executable tools/mlir/unittests/Dialect/AMDGPU/MLIRAMDGPUTests
184.700 [587/12/4886] Building CXX object tools/mlir/unittests/Dialect/ArmSME/CMakeFiles/MLIRArmSMETests.dir/TileTypeConversionTest.cpp.o
184.975 [587/11/4887] Building CXX object tools/mlir/lib/Dialect/Linalg/TransformOps/CMakeFiles/obj.MLIRLinalgTransformOps.dir/LinalgTransformOps.cpp.o
185.946 [587/10/4888] Building CXX object tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o
188.787 [587/9/4889] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
192.428 [587/8/4890] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
192.614 [587/7/4891] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
198.786 [587/6/4892] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorPasses.cpp.o
198.787 [587/5/4893] Building CXX object tools/mlir/test/lib/Dialect/NVGPU/CMakeFiles/MLIRNVGPUTestPasses.dir/TestNVGPUTransforms.cpp.o
201.527 [587/4/4894] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
202.978 [587/3/4895] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
204.061 [587/2/4896] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
205.277 [587/1/4897] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
ninja: build stopped: subcommand failed.

Copy link
Contributor

@fabianmcg fabianmcg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted the commit because it caused a build bot failure, but also this PR shouldn't have been merged, as not all my comments had been addressed.

Comment on lines +201 to +207
if (!chipset.empty()) {
FailureOr<amdgpu::Chipset> maybeChipset = amdgpu::Chipset::parse(chipset);
if (failed(maybeChipset)) {
return signalPassFailure();
}
populateMathToROCDLConversionPatterns(converter, patterns, *maybeChipset);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is wrong, the call to populateMathToROCDLConversionPatterns shouldn't be guarded by an if.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Oct 14, 2025
…rsion" (#163447)

Reverts llvm/llvm-project#163259. Reverting due to missing link libraries
causing failures in shared build bots.
akadutta pushed a commit to akadutta/llvm-project that referenced this pull request Oct 14, 2025
Added Pattern for lowering `Math::ClampFOp` to `ROCDL::FMED3`.
Also added `chipset` option to `MathToRocdl` pass to check for arch
support ISA instructions

Solves [llvm#15072](llvm#157052)

Reapplies llvm#160100

---------

Signed-off-by: Keshav Vinayak Jha <[email protected]>
akadutta pushed a commit to akadutta/llvm-project that referenced this pull request Oct 14, 2025
…m#163447)

Reverts llvm#163259. Reverting due to missing link libraries
causing failures in shared build bots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants