Skip to content

Conversation

@makslevental
Copy link
Contributor

@makslevental makslevental commented Nov 5, 2025

This commit adds a new pass that lowers floating-point arith operations to calls into the execution engine runtime library. Currently supported operations: addf, subf, mulf, divf, remf.

All floating-point types that have an APFloat semantics are supported. This includes low-precision floating-point types such as f4E2M1FN that cannot execute natively on CPUs.

This commit also improves the vector.print lowering pattern to call into the runtime library for floating-point types that are not supported by LLVM. This is necessary to write a meaningful integration test.

The way it works is

func.func @full_example() {
  %a = arith.constant 1.4 : f8E4M3FN
  %b = func.call @foo() : () -> (f8E4M3FN)
  %c = arith.addf %a, %b : f8E4M3FN
  vector.print %c : f8E4M3FN
  return
}

gets transformed to

func.func private @__mlir_apfloat_add(i32, i64, i64) -> i6
func.func @full_example() {
  %cst = arith.constant 1.375000e+00 : f8E4M3FN
  %0 = call @foo() : () -> f8E4M3FN
  // bitcast operand A to integer of equal width
  %1 = arith.bitcast %cst : f8E4M3FN to i8
  // zext A to i64
  %2 = arith.extui %1 : i8 to i64
  // same for operand B
  %3 = arith.bitcast %0 : f8E4M3FN to i8
  %4 = arith.extui %3 : i8 to i64
  // get the llvm::fltSemantics(f8E4M3FN) as an enum
  %c10_i32 = arith.constant 10 : i32
  // call the impl against APFloat in mlir_apfloat_wrappers
  %5 = call @__mlir_apfloat_add(%c10_i32, %2, %4) : (i32, i64, i64) -> i64
  // "cast" back to the original fp type
  %6 = arith.trunci %5 : i64 to i8
  %7 = arith.bitcast %6 : i8 to f8E4M3FN
  vector.print %7 : f8E4M3FN
}

Note, llvm::fltSemantics(f8E4M3FN) is emitted by the pattern each time an arith op is transformed, thereby making the call to __mlir_apfloat_add correct (i.e., no name mangling on type necessary).

RFC: https://discourse.llvm.org/t/rfc-software-implementation-for-unsupported-fp-types-in-convert-arith-to-llvm/88785

@makslevental makslevental changed the title check float cast Prototype: APFloat runtime library for unsupported CPU floating-point types Nov 5, 2025
@makslevental makslevental changed the base branch from users/matthias-springer/apfloat_runner to main November 7, 2025 00:20
@makslevental makslevental changed the base branch from main to users/matthias-springer/apfloat_runner November 7, 2025 00:21
@makslevental makslevental force-pushed the users/makslevental/apfloat_runner branch 4 times, most recently from 622e5fc to c42f471 Compare November 7, 2025 01:51
@llvmbot
Copy link
Member

llvmbot commented Nov 9, 2025

@llvm/pr-subscribers-mlir-llvm
@llvm/pr-subscribers-mlir-execution-engine

@llvm/pr-subscribers-mlir

Author: Maksim Levental (makslevental)

Changes

Lower floating point arithmetics that are unsupported by LLVM to calls into the execution engine runtime library.


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

16 Files Affected:

  • (added) mlir/include/mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h (+21)
  • (modified) mlir/include/mlir/Conversion/Passes.h (+1)
  • (modified) mlir/include/mlir/Conversion/Passes.td (+16)
  • (modified) mlir/include/mlir/Dialect/Func/Utils/Utils.h (+8)
  • (modified) mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h (+4)
  • (added) mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp (+113)
  • (added) mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt (+17)
  • (modified) mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp (+1)
  • (modified) mlir/lib/Conversion/CMakeLists.txt (+1)
  • (modified) mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp (+14)
  • (modified) mlir/lib/Dialect/Func/Utils/Utils.cpp (+42)
  • (modified) mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp (+11)
  • (added) mlir/lib/ExecutionEngine/APFloatWrappers.cpp (+71)
  • (modified) mlir/lib/ExecutionEngine/CMakeLists.txt (+12)
  • (added) mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir (+38)
  • (added) mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir (+19)
diff --git a/mlir/include/mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h b/mlir/include/mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h
new file mode 100644
index 0000000000000..64a42a228199e
--- /dev/null
+++ b/mlir/include/mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h
@@ -0,0 +1,21 @@
+//===- ArithToAPFloat.h - Arith to APFloat impl conversion ---*- C++ ----*-===//
+//
+// Part of the APFloat Project, under the Apache License v2.0 with APFloat
+// Exceptions. See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH APFloat-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_CONVERSION_ARITHTOAPFLOAT_ARITHTOAPFLOAT_H
+#define MLIR_CONVERSION_ARITHTOAPFLOAT_ARITHTOAPFLOAT_H
+
+#include <memory>
+
+namespace mlir {
+class Pass;
+
+#define GEN_PASS_DECL_ARITHTOAPFLOATCONVERSIONPASS
+#include "mlir/Conversion/Passes.h.inc"
+} // namespace mlir
+
+#endif // MLIR_CONVERSION_ARITHTOAPFLOAT_ARITHTOAPFLOAT_H
diff --git a/mlir/include/mlir/Conversion/Passes.h b/mlir/include/mlir/Conversion/Passes.h
index 40d866ec7bf10..82bdfd02661a6 100644
--- a/mlir/include/mlir/Conversion/Passes.h
+++ b/mlir/include/mlir/Conversion/Passes.h
@@ -12,6 +12,7 @@
 #include "mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h"
 #include "mlir/Conversion/AffineToStandard/AffineToStandard.h"
 #include "mlir/Conversion/ArithToAMDGPU/ArithToAMDGPU.h"
+#include "mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h"
 #include "mlir/Conversion/ArithToArmSME/ArithToArmSME.h"
 #include "mlir/Conversion/ArithToEmitC/ArithToEmitCPass.h"
 #include "mlir/Conversion/ArithToLLVM/ArithToLLVM.h"
diff --git a/mlir/include/mlir/Conversion/Passes.td b/mlir/include/mlir/Conversion/Passes.td
index 70e3e45c225db..2cd7d14f5517b 100644
--- a/mlir/include/mlir/Conversion/Passes.td
+++ b/mlir/include/mlir/Conversion/Passes.td
@@ -186,6 +186,22 @@ def ArithToLLVMConversionPass : Pass<"convert-arith-to-llvm"> {
   ];
 }
 
+//===----------------------------------------------------------------------===//
+// ArithToAPFloat
+//===----------------------------------------------------------------------===//
+
+def ArithToAPFloatConversionPass
+    : Pass<"convert-arith-to-apfloat", "ModuleOp"> {
+  let summary = "Convert Arith ops to APFloat runtime library calls";
+  let description = [{
+    This pass converts supported Arith ops to APFloat-based runtime library
+    calls (APFloatWrappers.cpp). APFloat is a software implementation of
+    floating-point arithmetic operations.
+  }];
+  let dependentDialects = ["func::FuncDialect"];
+  let options = [];
+}
+
 //===----------------------------------------------------------------------===//
 // ArithToSPIRV
 //===----------------------------------------------------------------------===//
diff --git a/mlir/include/mlir/Dialect/Func/Utils/Utils.h b/mlir/include/mlir/Dialect/Func/Utils/Utils.h
index 3576126a487ac..9c9973cf84368 100644
--- a/mlir/include/mlir/Dialect/Func/Utils/Utils.h
+++ b/mlir/include/mlir/Dialect/Func/Utils/Utils.h
@@ -60,6 +60,14 @@ mlir::FailureOr<std::pair<mlir::func::FuncOp, mlir::func::CallOp>>
 deduplicateArgsOfFuncOp(mlir::RewriterBase &rewriter, mlir::func::FuncOp funcOp,
                         mlir::ModuleOp moduleOp);
 
+/// Create a FuncOp with signature `resultTypes`(`paramTypes`)` and name `name`.
+/// Return a failure if the FuncOp found has unexpected signature.
+FailureOr<FuncOp>
+lookupOrCreateFn(OpBuilder &b, Operation *moduleOp, StringRef name,
+                 ArrayRef<Type> paramTypes = {},
+                 ArrayRef<Type> resultTypes = {}, bool setPrivate = false,
+                 SymbolTableCollection *symbolTables = nullptr);
+
 } // namespace func
 } // namespace mlir
 
diff --git a/mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h b/mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
index 8ad9ed18acebd..b09d32022e348 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
+++ b/mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
@@ -52,6 +52,10 @@ lookupOrCreatePrintF32Fn(OpBuilder &b, Operation *moduleOp,
 FailureOr<LLVM::LLVMFuncOp>
 lookupOrCreatePrintF64Fn(OpBuilder &b, Operation *moduleOp,
                          SymbolTableCollection *symbolTables = nullptr);
+FailureOr<LLVM::LLVMFuncOp>
+lookupOrCreateApFloatPrintFn(OpBuilder &b, Operation *moduleOp,
+                             SymbolTableCollection *symbolTables = nullptr);
+
 /// Declares a function to print a C-string.
 /// If a custom runtime function is defined via `runtimeFunctionName`, it must
 /// have the signature void(char const*). The default function is `printString`.
diff --git a/mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp b/mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
new file mode 100644
index 0000000000000..62074625033ce
--- /dev/null
+++ b/mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
@@ -0,0 +1,113 @@
+//===- ArithToAPFloat.cpp - Arithmetic to APFloat impl conversion ---------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/Conversion/ArithToAPFloat/ArithToAPFloat.h"
+
+#include "mlir/Dialect/Arith/IR/Arith.h"
+#include "mlir/Dialect/Arith/Transforms/Passes.h"
+#include "mlir/Dialect/Func/IR/FuncOps.h"
+#include "mlir/Dialect/Func/Utils/Utils.h"
+#include "mlir/IR/Verifier.h"
+
+#include "llvm/ADT/TypeSwitch.h"
+
+namespace mlir {
+#define GEN_PASS_DEF_ARITHTOAPFLOATCONVERSIONPASS
+#include "mlir/Conversion/Passes.h.inc"
+} // namespace mlir
+
+using namespace mlir;
+using namespace mlir::func;
+
+static FailureOr<Operation *>
+lookupOrCreateBinaryFn(OpBuilder &b, Operation *moduleOp, StringRef name,
+                       SymbolTableCollection *symbolTables = nullptr) {
+  return lookupOrCreateFn(b, moduleOp,
+                          (llvm::Twine("_mlir_apfloat_") + name).str(),
+                          {IntegerType::get(moduleOp->getContext(), 32),
+                           IntegerType::get(moduleOp->getContext(), 64),
+                           IntegerType::get(moduleOp->getContext(), 64)},
+                          {IntegerType::get(moduleOp->getContext(), 64)},
+                          /*setPrivate*/ true, symbolTables);
+}
+
+template <typename OpTy>
+static LogicalResult rewriteBinaryOp(RewriterBase &rewriter, ModuleOp module,
+                                     OpTy op, StringRef apfloatName) {
+  // Get APFloat function from runtime library.
+  FailureOr<Operation *> fn =
+      lookupOrCreateBinaryFn(rewriter, module, apfloatName);
+  if (failed(fn))
+    return op->emitError("failed to lookup or create APFloat function");
+
+  // Cast operands to 64-bit integers.
+  Location loc = op.getLoc();
+  auto floatTy = cast<FloatType>(op.getType());
+  auto intWType = rewriter.getIntegerType(floatTy.getWidth());
+  auto int64Type = rewriter.getI64Type();
+  Value lhsBits = arith::ExtUIOp::create(
+      rewriter, loc, int64Type,
+      arith::BitcastOp::create(rewriter, loc, intWType, op.getLhs()));
+  Value rhsBits = arith::ExtUIOp::create(
+      rewriter, loc, int64Type,
+      arith::BitcastOp::create(rewriter, loc, intWType, op.getRhs()));
+
+  // Call APFloat function.
+  int32_t sem = llvm::APFloatBase::SemanticsToEnum(floatTy.getFloatSemantics());
+  Value semValue = arith::ConstantOp::create(
+      rewriter, loc, rewriter.getI32Type(),
+      rewriter.getIntegerAttr(rewriter.getI32Type(), sem));
+  SmallVector<Value> params = {semValue, lhsBits, rhsBits};
+  auto resultOp =
+      func::CallOp::create(rewriter, loc, TypeRange(rewriter.getI64Type()),
+                           SymbolRefAttr::get(*fn), params);
+
+  // Truncate result to the original width.
+  Value truncatedBits =
+      arith::TruncIOp::create(rewriter, loc, intWType, resultOp->getResult(0));
+  rewriter.replaceOp(
+      op, arith::BitcastOp::create(rewriter, loc, floatTy, truncatedBits));
+  return success();
+}
+
+namespace {
+struct ArithToAPFloatConversionPass final
+    : impl::ArithToAPFloatConversionPassBase<ArithToAPFloatConversionPass> {
+  using impl::ArithToAPFloatConversionPassBase<
+      ArithToAPFloatConversionPass>::ArithToAPFloatConversionPassBase;
+
+  void runOnOperation() override {
+    ModuleOp module = getOperation();
+    IRRewriter rewriter(getOperation()->getContext());
+    SmallVector<arith::AddFOp> addOps;
+    WalkResult status = module->walk([&](Operation *op) {
+      rewriter.setInsertionPoint(op);
+      LogicalResult result =
+          llvm::TypeSwitch<Operation *, LogicalResult>(op)
+              .Case<arith::AddFOp>([&](arith::AddFOp op) {
+                return rewriteBinaryOp(rewriter, module, op, "add");
+              })
+              .Case<arith::SubFOp>([&](arith::SubFOp op) {
+                return rewriteBinaryOp(rewriter, module, op, "subtract");
+              })
+              .Case<arith::MulFOp>([&](arith::MulFOp op) {
+                return rewriteBinaryOp(rewriter, module, op, "mulitply");
+              })
+              .Case<arith::DivFOp>([&](arith::DivFOp op) {
+                return rewriteBinaryOp(rewriter, module, op, "divide");
+              })
+              .Default([](Operation *op) { return success(); });
+      if (failed(result))
+        return WalkResult::interrupt();
+      return WalkResult::advance();
+    });
+    if (status.wasInterrupted())
+      return signalPassFailure();
+  }
+};
+} // namespace
diff --git a/mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt b/mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
new file mode 100644
index 0000000000000..b0d1e46b3655f
--- /dev/null
+++ b/mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
@@ -0,0 +1,17 @@
+add_mlir_conversion_library(MLIRArithToAPFloat
+  ArithToAPFloat.cpp
+
+  ADDITIONAL_HEADER_DIRS
+  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/ArithToLLVM
+
+  DEPENDS
+  MLIRConversionPassIncGen
+
+  LINK_COMPONENTS
+  Core
+
+  LINK_LIBS PUBLIC
+  MLIRArithDialect
+  MLIRArithTransforms
+  MLIRFuncDialect
+  )
diff --git a/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp b/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
index b6099902cc337..f2bacc3399144 100644
--- a/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
+++ b/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
@@ -14,6 +14,7 @@
 #include "mlir/Conversion/LLVMCommon/VectorPattern.h"
 #include "mlir/Dialect/Arith/IR/Arith.h"
 #include "mlir/Dialect/Arith/Transforms/Passes.h"
+#include "mlir/Dialect/LLVMIR/FunctionCallUtils.h"
 #include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/IR/TypeUtilities.h"
diff --git a/mlir/lib/Conversion/CMakeLists.txt b/mlir/lib/Conversion/CMakeLists.txt
index bebf1b8fff3f9..613dc6d242ceb 100644
--- a/mlir/lib/Conversion/CMakeLists.txt
+++ b/mlir/lib/Conversion/CMakeLists.txt
@@ -2,6 +2,7 @@ add_subdirectory(AffineToStandard)
 add_subdirectory(AMDGPUToROCDL)
 add_subdirectory(ArithCommon)
 add_subdirectory(ArithToAMDGPU)
+add_subdirectory(ArithToAPFloat)
 add_subdirectory(ArithToArmSME)
 add_subdirectory(ArithToEmitC)
 add_subdirectory(ArithToLLVM)
diff --git a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
index 69a317ecd101f..c747e1b59558a 100644
--- a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
+++ b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
@@ -1654,6 +1654,20 @@ class VectorPrintOpConversion : public ConvertOpToLLVMPattern<vector::PrintOp> {
           return failure();
         }
       }
+    } else if (auto floatTy = dyn_cast<FloatType>(printType)) {
+      // Print other floating-point types using the APFloat runtime library.
+      int32_t sem =
+          llvm::APFloatBase::SemanticsToEnum(floatTy.getFloatSemantics());
+      Value semValue = LLVM::ConstantOp::create(
+          rewriter, loc, rewriter.getI32Type(),
+          rewriter.getIntegerAttr(rewriter.getI32Type(), sem));
+      Value floatBits =
+          LLVM::ZExtOp::create(rewriter, loc, rewriter.getI64Type(), value);
+      printer =
+          LLVM::lookupOrCreateApFloatPrintFn(rewriter, parent, symbolTables);
+      emitCall(rewriter, loc, printer.value(),
+               ValueRange({semValue, floatBits}));
+      return success();
     } else {
       return failure();
     }
diff --git a/mlir/lib/Dialect/Func/Utils/Utils.cpp b/mlir/lib/Dialect/Func/Utils/Utils.cpp
index b4cb0932ef631..e187e62cf6555 100644
--- a/mlir/lib/Dialect/Func/Utils/Utils.cpp
+++ b/mlir/lib/Dialect/Func/Utils/Utils.cpp
@@ -254,3 +254,45 @@ func::deduplicateArgsOfFuncOp(RewriterBase &rewriter, func::FuncOp funcOp,
 
   return std::make_pair(*newFuncOpOrFailure, newCallOp);
 }
+
+FailureOr<func::FuncOp>
+func::lookupOrCreateFn(OpBuilder &b, Operation *moduleOp, StringRef name,
+                       ArrayRef<Type> paramTypes, ArrayRef<Type> resultTypes,
+                       bool setPrivate, SymbolTableCollection *symbolTables) {
+  assert(moduleOp->hasTrait<OpTrait::SymbolTable>() &&
+         "expected SymbolTable operation");
+
+  FuncOp func;
+  if (symbolTables) {
+    func = symbolTables->lookupSymbolIn<FuncOp>(
+        moduleOp, StringAttr::get(moduleOp->getContext(), name));
+  } else {
+    func = llvm::dyn_cast_or_null<FuncOp>(
+        SymbolTable::lookupSymbolIn(moduleOp, name));
+  }
+
+  FunctionType funcT =
+      FunctionType::get(b.getContext(), paramTypes, resultTypes);
+  // Assert the signature of the found function is same as expected
+  if (func) {
+    if (funcT != func.getFunctionType()) {
+      func.emitError("redefinition of function '")
+          << name << "' of different type " << funcT << " is prohibited";
+      return failure();
+    }
+    return func;
+  }
+
+  OpBuilder::InsertionGuard g(b);
+  assert(!moduleOp->getRegion(0).empty() && "expected non-empty region");
+  b.setInsertionPointToStart(&moduleOp->getRegion(0).front());
+  FuncOp funcOp = FuncOp::create(b, moduleOp->getLoc(), name, funcT);
+  if (setPrivate)
+    funcOp.setPrivate();
+  if (symbolTables) {
+    SymbolTable &symbolTable = symbolTables->getSymbolTable(moduleOp);
+    symbolTable.insert(funcOp, moduleOp->getRegion(0).front().begin());
+  }
+
+  return funcOp;
+}
diff --git a/mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp b/mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
index feaffa34897b6..160b6ae89215c 100644
--- a/mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
+++ b/mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
@@ -30,6 +30,7 @@ static constexpr llvm::StringRef kPrintF16 = "printF16";
 static constexpr llvm::StringRef kPrintBF16 = "printBF16";
 static constexpr llvm::StringRef kPrintF32 = "printF32";
 static constexpr llvm::StringRef kPrintF64 = "printF64";
+static constexpr llvm::StringRef kPrintApFloat = "printApFloat";
 static constexpr llvm::StringRef kPrintString = "printString";
 static constexpr llvm::StringRef kPrintOpen = "printOpen";
 static constexpr llvm::StringRef kPrintClose = "printClose";
@@ -160,6 +161,16 @@ mlir::LLVM::lookupOrCreatePrintF64Fn(OpBuilder &b, Operation *moduleOp,
       LLVM::LLVMVoidType::get(moduleOp->getContext()), symbolTables);
 }
 
+FailureOr<LLVM::LLVMFuncOp>
+mlir::LLVM::lookupOrCreateApFloatPrintFn(OpBuilder &b, Operation *moduleOp,
+                                         SymbolTableCollection *symbolTables) {
+  return lookupOrCreateReservedFn(
+      b, moduleOp, kPrintApFloat,
+      {IntegerType::get(moduleOp->getContext(), 32),
+       IntegerType::get(moduleOp->getContext(), 64)},
+      LLVM::LLVMVoidType::get(moduleOp->getContext()), symbolTables);
+}
+
 static LLVM::LLVMPointerType getCharPtr(MLIRContext *context) {
   return LLVM::LLVMPointerType::get(context);
 }
diff --git a/mlir/lib/ExecutionEngine/APFloatWrappers.cpp b/mlir/lib/ExecutionEngine/APFloatWrappers.cpp
new file mode 100644
index 0000000000000..e8f57f231ce5c
--- /dev/null
+++ b/mlir/lib/ExecutionEngine/APFloatWrappers.cpp
@@ -0,0 +1,71 @@
+//===- APFloatWrappers.cpp - Software Implementation of FP Arithmetics --- ===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/ADT/APFloat.h"
+
+#include <iostream>
+
+#if (defined(_WIN32) || defined(__CYGWIN__))
+#define MLIR_APFLOAT_WRAPPERS_EXPORTED __declspec(dllexport)
+#else
+#define MLIR_APFLOAT_WRAPPERS_EXPORTED __attribute__((visibility("default")))
+#endif
+
+/// Binary operations without rounding mode.
+#define APFLOAT_BINARY_OP(OP)                                                  \
+  int64_t MLIR_APFLOAT_WRAPPERS_EXPORTED _mlir_apfloat_##OP(                   \
+      int32_t semantics, uint64_t a, uint64_t b) {                             \
+    const llvm::fltSemantics &sem = llvm::APFloatBase::EnumToSemantics(        \
+        static_cast<llvm::APFloatBase::Semantics>(semantics));                 \
+    unsigned bitWidth = llvm::APFloatBase::semanticsSizeInBits(sem);           \
+    llvm::APFloat lhs(sem, llvm::APInt(bitWidth, a));                          \
+    llvm::APFloat rhs(sem, llvm::APInt(bitWidth, b));                          \
+    llvm::APFloatBase::opStatus status = lhs.OP(rhs);                          \
+    return lhs.bitcastToAPInt().getZExtValue();                                \
+  }
+
+/// Binary operations with rounding mode.
+#define APFLOAT_BINARY_OP_ROUNDING_MODE(OP, ROUNDING_MODE)                     \
+  int64_t MLIR_APFLOAT_WRAPPERS_EXPORTED _mlir_apfloat_##OP(                   \
+      int32_t semantics, uint64_t a, uint64_t b) {                             \
+    const llvm::fltSemantics &sem = llvm::APFloatBase::EnumToSemantics(        \
+        static_cast<llvm::APFloatBase::Semantics>(semantics));                 \
+    unsigned bitWidth = llvm::APFloatBase::semanticsSizeInBits(sem);           \
+    llvm::APFloat lhs(sem, llvm::APInt(bitWidth, a));                          \
+    llvm::APFloat rhs(sem, llvm::APInt(bitWidth, b));                          \
+    llvm::APFloatBase::opStatus status = lhs.OP(rhs, ROUNDING_MODE);           \
+    return lhs.bitcastToAPInt().getZExtValue();                                \
+  }
+
+extern "C" {
+
+#define BIN_OPS_WITH_ROUNDING(X)                                               \
+  X(add, llvm::RoundingMode::NearestTiesToEven)                                \
+  X(subtract, llvm::RoundingMode::NearestTiesToEven)                           \
+  X(multiply, llvm::RoundingMode::NearestTiesToEven)                           \
+  X(divide, llvm::RoundingMode::NearestTiesToEven)
+
+BIN_OPS_WITH_ROUNDING(APFLOAT_BINARY_OP_ROUNDING_MODE)
+#undef BIN_OPS_WITH_ROUNDING
+#undef APFLOAT_BINARY_OP_ROUNDING_MODE
+
+APFLOAT_BINARY_OP(remainder)
+APFLOAT_BINARY_OP(mod)
+
+#undef APFLOAT_BINARY_OP
+
+void MLIR_APFLOAT_WRAPPERS_EXPORTED printApFloat(int32_t semantics,
+                                                 uint64_t a) {
+  const llvm::fltSemantics &sem = llvm::APFloatBase::EnumToSemantics(
+      static_cast<llvm::APFloatBase::Semantics>(semantics));
+  unsigned bitWidth = llvm::APFloatBase::semanticsSizeInBits(sem);
+  llvm::APFloat x(sem, llvm::APInt(bitWidth, a));
+  double d = x.convertToDouble();
+  fprintf(stdout, "%lg", d);
+}
+}
diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt
index fdeb4dacf9278..8c09e50e4de7b 100644
--- a/mlir/lib/ExecutionEngine/CMakeLists.txt
+++ b/mlir/lib/ExecutionEngine/CMakeLists.txt
@@ -2,6 +2,7 @@
 # is a big dependency which most don't need.
 
 set(LLVM_OPTIONAL_SOURCES
+  APFloatWrappers.cpp
   ArmRunnerUtils.cpp
   ArmSMEStubs.cpp
   AsyncRuntime.cpp
@@ -167,6 +168,15 @@ if(LLVM_ENABLE_PIC)
   set_property(TARGET mlir_float16_utils PROPERTY CXX_STANDARD 17)
   target_compile_definitions(mlir_float16_utils PRIVATE mlir_float16_utils_EXPORTS)
 
+  add_mlir_library(mlir_apfloat_wrappers
+    SHARED
+    APFloatWrappers.cpp
+
+    EXCLUDE_FROM_LIBMLIR
+    )
+  set_property(TARGET mlir_apfloat_wrappers PROPERTY CXX_STANDARD 17)
+  target_compile_definitions(mlir_apfloat...
[truncated]

@matthias-springer matthias-springer force-pushed the users/makslevental/apfloat_runner branch from de9b2af to 1180064 Compare November 9, 2025 07:36
Comment on lines +156 to +158
walkAndApplyPatterns(getOperation(), std::move(patterns));
if (failed(result))
return signalPassFailure();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@matthias-springer this is what we want right? if there's a failure due to overlapping decls we want to fail the pass right?

Copy link
Member

Choose a reason for hiding this comment

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

That sounds reasonable to me.

@makslevental
Copy link
Contributor Author

cc @nikalra

Comment on lines +148 to +155
ScopedDiagnosticHandler scopedHandler(context, [&result](Diagnostic &diag) {
if (diag.getSeverity() == DiagnosticSeverity::Error) {
result = failure();
}
// NB: if you don't return failure, no other diag handlers will fire (see
// mlir/lib/IR/Diagnostics.cpp:DiagnosticEngineImpl::emit).
return failure();
});
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if this is something the walk rewriter should do? (separately from this PR)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My 2 cents: leaving it decomposed is better - this is not hard to write (once you know how diaghandlers work 😜).

But it's up to you - you're code owner/designer of that. If you so wish it. I can refactor this into the rewriter. Maybe the "abstraction" could be passing just the callback.

@makslevental makslevental merged commit 222f4e4 into main Nov 11, 2025
10 checks passed
@makslevental makslevental deleted the users/makslevental/apfloat_runner branch November 11, 2025 00:21
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 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/21601

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
225.985 [938/16/4580] Creating library symlink lib/libMLIRLLVMIRTransforms.so
225.987 [937/16/4581] Linking CXX shared library lib/libMLIRSCFToEmitC.so.22.0git
225.992 [936/16/4582] Creating library symlink lib/libMLIRArithTransforms.so
226.007 [935/16/4583] Creating library symlink lib/libMLIRSCFToEmitC.so
226.041 [934/16/4584] Linking CXX shared library lib/libMLIRArithToEmitC.so.22.0git
226.049 [933/16/4585] Creating library symlink lib/libMLIRArithToEmitC.so
226.085 [932/16/4586] Linking CXX shared library lib/libMLIRMLProgramDialect.so.22.0git
226.099 [931/16/4587] Creating library symlink lib/libMLIRMLProgramDialect.so
226.109 [930/16/4588] Linking CXX shared library lib/libMLIRNVGPUTransforms.so.22.0git
226.110 [929/16/4589] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.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::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)
>>> referenced by ArithToAPFloat.cpp
>>>               tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o:(lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
226.157 [929/15/4590] Linking CXX shared library lib/libMLIRArithToLLVM.so.22.0git
226.168 [929/14/4591] Linking CXX shared library lib/libMLIRConvertToEmitC.so.22.0git
226.221 [929/13/4592] Linking CXX shared library lib/libMLIRTosaToMLProgram.so.22.0git
226.222 [929/12/4593] Linking CXX shared library lib/libMLIRMLProgramTransforms.so.22.0git
228.663 [929/11/4594] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
229.436 [929/10/4595] Building CXX object tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o
232.677 [929/9/4596] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
233.129 [929/8/4597] Building CXX object tools/mlir/test/lib/Dialect/ControlFlow/CMakeFiles/MLIRControlFlowTestPasses.dir/TestAssert.cpp.o
234.648 [929/7/4598] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
235.462 [929/6/4599] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgDropUnitDims.cpp.o
237.732 [929/5/4600] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgFusionTransforms.cpp.o
238.049 [929/4/4601] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
238.799 [929/3/4602] Building CXX object tools/mlir/test/lib/Dialect/NVGPU/CMakeFiles/MLIRNVGPUTestPasses.dir/TestNVGPUTransforms.cpp.o
244.618 [929/2/4603] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
245.121 [929/1/4604] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 2025

LLVM Buildbot has detected a new failure on builder openmp-offload-sles-build-only running on rocm-worker-hw-04-sles while building mlir at step 5 "compile-openmp".

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

Here is the relevant piece of the build log for the reference
Step 5 (compile-openmp) failure: build (failure)
...
80.866 [822/32/6671] Linking CXX executable bin/clang-nvlink-wrapper
81.178 [821/32/6672] Linking CXX executable bin/clang-linker-wrapper
81.207 [820/32/6673] Linking CXX executable bin/mlir-runner
81.412 [819/32/6674] Linking CXX executable bin/clang-import-test
81.664 [818/32/6675] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
83.535 [817/32/6676] Linking CXX executable bin/clang-check
83.603 [816/32/6677] Linking CXX executable bin/mlir-query
83.648 [815/32/6678] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/DoLoopHelper.cpp.o
84.766 [814/32/6679] Linking CXX executable bin/mlir-transform-opt
84.818 [813/32/6680] Linking CXX executable bin/mlir-reduce
FAILED: bin/mlir-reduce 
: && /usr/bin/c++ -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-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,-rpath-link,/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./lib  -Wl,--gc-sections tools/mlir/tools/mlir-reduce/CMakeFiles/mlir-reduce.dir/mlir-reduce.cpp.o -o bin/mlir-reduce  -Wl,-rpath,"\$ORIGIN/../lib:"  -lpthread  lib/libMLIRReduceLib.a  lib/libMLIRRegisterAllDialects.a  lib/libMLIRRegisterAllPasses.a  lib/libMLIRTestDialect.a  lib/libMLIRAffineTransformOps.a  lib/libMLIRAMDGPUTransforms.a  lib/libMLIRArithValueBoundsOpInterfaceImpl.a  lib/libMLIRArmNeonVectorTransformOps.a  lib/libMLIRArmSVEVectorTransformOps.a  lib/libMLIRAsyncTransforms.a  lib/libMLIRBufferizationPipelines.a  lib/libMLIRBufferizationTransformOps.a  lib/libMLIRDLTITransformOps.a  lib/libMLIRFuncTransformOps.a  lib/libMLIRFuncUtils.a  lib/libMLIRGPUTransformOps.a  lib/libMLIRGPUPipelines.a  lib/libMLIRVCIXDialect.a  lib/libMLIRMathTransforms.a  lib/libMLIRMemRefTransformOps.a  lib/libMLIRMLProgramTransforms.a  lib/libMLIRNVGPUTransformOps.a  lib/libMLIRNVGPUTransforms.a  lib/libMLIROpenACCTransforms.a  lib/libMLIROpenACCAnalysis.a  lib/libMLIROpenACCUtils.a  lib/libMLIROpenMPTransforms.a  lib/libMLIRQuantTransforms.a  lib/libMLIRSCFTransformOps.a  lib/libMLIRShapeOpsTransforms.a  lib/libMLIRSparseTensorPipelines.a  lib/libMLIRSparseTensorTransformOps.a  lib/libMLIRLinalgTransformOps.a  lib/libMLIRSparseTensorTransforms.a  lib/libMLIRSparseTensorUtils.a  lib/libMLIRSPIRVModuleCombiner.a  lib/libMLIRSPIRVTransforms.a  lib/libMLIRTensorInferTypeOpInterfaceImpl.a  lib/libMLIRTensorTransformOps.a  lib/libMLIRTransformDebugExtension.a  lib/libMLIRTransformDialectIRDLExtension.a  lib/libMLIRIRDL.a  lib/libMLIRTransformLoopExtension.a  lib/libMLIRTransformPDLExtension.a  lib/libMLIRTransformSMTExtension.a  lib/libMLIRSMT.a  lib/libMLIRTransformDialectTransforms.a  lib/libMLIRTransformTuneExtension.a  lib/libMLIRVectorTransformOps.a  lib/libMLIRWasmSSADialect.a  lib/libMLIRXeGPUTransformOps.a  lib/libMLIRTransformDialect.a  lib/libMLIRTransformDialectInterfaces.a  lib/libMLIRTransformDialectUtils.a  lib/libMLIRXeGPUTransforms.a  lib/libMLIRTargetLLVMIRTransforms.a  lib/libMLIRTargetLLVMIRImport.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86Desc.a  lib/libLLVMMCDisassembler.a  lib/libLLVMX86Info.a  lib/libMLIRXeVMTarget.a  lib/libMLIRXeVMToLLVMIRTranslation.a  lib/libMLIRArithToAMDGPU.a  lib/libMLIRArithToAPFloat.a  lib/libMLIRArithToArmSME.a  lib/libMLIRArmNeon2dToIntr.a  lib/libMLIRArmSMEToSCF.a  lib/libMLIRArmSMEToLLVM.a  lib/libMLIRArmSMETransforms.a  lib/libMLIRBufferizationToMemRef.a  lib/libMLIRComplexToLibm.a  lib/libMLIRComplexToROCDLLibraryCalls.a  lib/libMLIRComplexToLLVM.a  lib/libMLIRComplexToSPIRV.a  lib/libMLIRComplexToStandard.a  lib/libMLIRComplexDivisionConversion.a  lib/libMLIRControlFlowToSCF.a  lib/libMLIRControlFlowToSPIRV.a  lib/libMLIRConvertToEmitC.a  lib/libMLIRArithToEmitC.a  lib/libMLIRFuncToEmitC.a  lib/libMLIRGPUToLLVMSPV.a  lib/libMLIRGPUToNVVMTransforms.a  lib/libMLIRGPUToROCDLTransforms.a  lib/libMLIRAMDGPUToROCDL.a  lib/libMLIRGPUToSPIRV.a  lib/libMLIRIndexToLLVM.a  lib/libMLIRLinalgToStandard.a  lib/libMLIRMathToEmitC.a  lib/libMLIRMathToFuncs.a  lib/libMLIRMathToLibm.a  lib/libMLIRMathToLLVM.a  lib/libMLIRMathToROCDL.a  lib/libMLIRAMDGPUUtils.a  lib/libMLIRMathToSPIRV.a  lib/libMLIRMathToXeVM.a  lib/libMLIRMemRefToEmitC.a  lib/libMLIRShardToMPI.a  lib/libMLIRMPIToLLVM.a  lib/libMLIRMPIDialect.a  lib/libMLIRNVGPUToNVVM.a  lib/libMLIRGPUToGPURuntimeTransforms.a  lib/libMLIRAsyncToLLVM.a  lib/libMLIRConvertToLLVMPass.a  lib/libMLIRConvertToLLVMInterface.a  lib/libMLIRNVVMToLLVM.a  lib/libMLIROpenACCToSCF.a  lib/libMLIROpenACCDialect.a  lib/libMLIROpenMPToLLVM.a  lib/libMLIRPtrToLLVM.a  lib/libMLIRReconcileUnrealizedCasts.a  lib/libMLIRSCFToControlFlow.a  lib/libMLIRSCFToEmitC.a  lib/libMLIREmitCTransforms.a  lib/libMLIREmitCDialect.a  lib/libMLIRSCFToGPU.a  lib/libMLIRGPUTransforms.a  lib/libMLIRAMDGPUDialect.a  lib/libMLIRAsyncDialect.a  lib/libMLIRSPIRVTarget.a  lib/libMLIRSPIRVSerialization.a  lib/libMLIRSPIRVBinaryUtils.a  lib/libMLIRNVVMTarget.a  lib/libMLIRNVVMToLLVMIRTranslation.a  lib/libMLIRROCDLTarget.a  lib/libLLVMAMDGPUAsmParser.a  lib/libLLVMAMDGPUCodeGen.a  lib/libLLVMAsmPrinter.a  lib/libLLVMMIRParser.a  lib/libLLVMAMDGPUDesc.a  lib/libLLVMAMDGPUUtils.a  lib/libLLVMAMDGPUInfo.a  lib/libMLIRTargetLLVM.a  lib/libMLIRROCDLToLLVMIRTranslation.a  lib/libMLIRROCDLDialect.a  lib/libMLIRExecutionEngineUtils.a  lib/libLLVMPasses.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMLinker.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMTarget.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMIRPrinter.a  lib/libLLVMInstrumentation.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMHipStdPar.a  lib/libMLIRAffineToStandard.a  lib/libMLIRSCFToOpenMP.a  lib/libMLIRSCFToSPIRV.a  lib/libMLIRIndexToSPIRV.a  lib/libMLIRMemRefToSPIRV.a  lib/libMLIRShapeToStandard.a  lib/libMLIRShapeDialect.a  lib/libMLIRSPIRVToLLVM.a  lib/libMLIRSPIRVUtils.a  lib/libMLIRFuncToLLVM.a  lib/libMLIRArithToLLVM.a  lib/libMLIRControlFlowToLLVM.a  lib/libMLIRMemRefToLLVM.a  lib/libMLIRSPIRVAttrToLLVMConversion.a  lib/libMLIRTensorToLinalg.a  lib/libMLIRTensorToSPIRV.a  lib/libMLIRArithToSPIRV.a  lib/libMLIRFuncToSPIRV.a  lib/libMLIRTosaToArith.a  lib/libMLIRTosaToLinalg.a  lib/libMLIRTosaToMLProgram.a  lib/libMLIRMLProgramDialect.a  lib/libMLIRTosaToSCF.a  lib/libMLIRTosaToTensor.a  lib/libMLIRTosaTransforms.a  lib/libMLIRUBToLLVM.a  lib/libMLIRVectorToAMX.a  lib/libMLIRVectorToArmSME.a  lib/libMLIRArmSMEDialect.a  lib/libMLIRVectorToGPU.a  lib/libMLIRNVGPUUtils.a  lib/libMLIRVectorToLLVMPass.a  lib/libMLIRAMXTransforms.a  lib/libMLIRAMXDialect.a  lib/libMLIRArmNeonTransforms.a  lib/libMLIRArmNeonDialect.a  lib/libMLIRArmSVETransforms.a  lib/libMLIRArmSVEDialect.a  lib/libMLIRX86VectorTransforms.a  lib/libMLIRX86VectorDialect.a  lib/libMLIRVectorToLLVM.a  lib/libMLIRArithAttrToLLVMConversion.a  lib/libMLIRTargetLLVMIRExport.a  lib/libMLIRLLVMIRTransforms.a  lib/libMLIROpenMPDialect.a  lib/libMLIROpenACCMPCommon.a  lib/libMLIRTranslateLib.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMTransformUtils.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMObject.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMTextAPI.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMFrontendDirective.a  lib/libMLIRVectorToSPIRV.a  lib/libMLIRUBToSPIRV.a  lib/libMLIRSPIRVConversion.a  lib/libMLIRSPIRVDialect.a  lib/libMLIRSPIRVImageInterfaces.a  lib/libMLIRVectorToXeGPU.a  lib/libMLIRXeVMToLLVM.a  lib/libMLIRXeGPUToXeVM.a  lib/libMLIRXeGPUUtils.a  lib/libMLIRXeGPUDialect.a  lib/libMLIRXeVMDialect.a  lib/libMLIRLLVMCommonConversion.a  lib/libMLIRReduce.a  lib/libMLIRControlFlowTransforms.a  lib/libMLIRLinalgTransforms.a  lib/libMLIRIndexDialect.a  lib/libMLIRShardTransforms.a  lib/libMLIRTosaShardingInterfaceImpl.a  lib/libMLIRTosaDialect.a  lib/libMLIRQuantUtils.a  lib/libMLIRQuantDialect.a  lib/libMLIRSCFTransforms.a  lib/libMLIRTensorTransforms.a  lib/libMLIRTensorTilingInterfaceImpl.a  lib/libMLIRLinalgUtils.a  lib/libMLIRTensorUtils.a  lib/libMLIRTilingInterface.a  lib/libMLIRVectorToSCF.a  lib/libMLIRVectorTransforms.a  lib/libMLIRGPUUtils.a  lib/libMLIRLinalgDialect.a  lib/libMLIRParser.a  lib/libMLIRBytecodeReader.a  lib/libMLIRAsmParser.a  lib/libMLIRMemRefTransforms.a  lib/libMLIRAffineTransforms.a  lib/libMLIRSCFUtils.a  lib/libMLIRAffineUtils.a  lib/libMLIRArithTransforms.a  lib/libMLIRBufferizationTransforms.a  lib/libMLIRBufferizationDialect.a  lib/libMLIRSparseTensorDialect.a  lib/libMLIRFuncTransforms.a  lib/libMLIRShardingInterface.a  lib/libMLIRShardDialect.a  lib/libMLIRNVGPUDialect.a  lib/libMLIRMemRefUtils.a  lib/libMLIRVectorUtils.a  lib/libMLIRAffineAnalysis.a  lib/libMLIRSCFDialect.a  lib/libMLIRControlFlowDialect.a  lib/libMLIRFuncDialect.a  lib/libMLIRVectorDialect.a  lib/libMLIRIndexingMapOpInterface.a  lib/libMLIRMaskableOpInterface.a  lib/libMLIRMaskingOpInterface.a  lib/libMLIRVectorInterfaces.a  lib/libMLIRNVVMDialect.a  lib/libMLIRGPUDialect.a  lib/libMLIRDLTIDialect.a  lib/libMLIRMathDialect.a  lib/libMLIRLLVMDialect.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMBinaryFormat.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMTargetParser.a  lib/libMLIRPtrDialect.a  lib/libMLIRPtrMemorySpaceInterfaces.a  lib/libMLIRTensorDialect.a  lib/libMLIRAffineDialect.a  lib/libMLIRMemRefDialect.a  lib/libMLIRArithUtils.a  lib/libMLIRComplexDialect.a  lib/libMLIRArithDialect.a  lib/libMLIRUBDialect.a  lib/libMLIRDialectUtils.a  lib/libMLIRCastInterfaces.a  lib/libMLIRInferIntRangeCommon.a  lib/libMLIRShapedOpInterfaces.a  lib/libMLIRParallelCombiningOpInterface.a  lib/libMLIRDerivedAttributeOpInterface.a  lib/libMLIRDialect.a  lib/libMLIRTransforms.a  lib/libMLIRTransformUtils.a  lib/libMLIRRewrite.a  lib/libMLIRRewritePDL.a  lib/libMLIRPDLToPDLInterp.a  lib/libMLIRPass.a  lib/libMLIRPDLInterpDialect.a  lib/libMLIRPDLDialect.a  lib/libMLIRSubsetOpInterface.a  lib/libMLIRMemorySlotInterfaces.a  lib/libMLIRMemOpInterfaces.a  lib/libMLIRRuntimeVerifiableOpInterface.a  lib/libMLIRValueBoundsOpInterface.a  lib/libMLIRDestinationStyleOpInterface.a  lib/libMLIRAnalysis.a  lib/libMLIRControlFlowInterfaces.a  lib/libMLIRDataLayoutInterfaces.a  lib/libMLIRInferTypeOpInterface.a  lib/libMLIRSideEffectInterfaces.a  lib/libMLIRPresburger.a  lib/libMLIRLoopLikeInterface.a  lib/libMLIRFunctionInterfaces.a  lib/libMLIRCallInterfaces.a  lib/libMLIRViewLikeInterface.a  lib/libMLIRInferStridedMetadataInterface.a  lib/libMLIRInferIntRangeInterface.a  lib/libMLIRIR.a  lib/libMLIRSupport.a  lib/libLLVMSupport.a  -lrt  -ldl  -lpthread  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so  lib/libLLVMDemangle.a && :
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: lib/libMLIRArithToAPFloat.a(ArithToAPFloat.cpp.o): in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.291]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.291+0x132): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
84.879 [813/31/6681] Linking CXX executable bin/mlir-rewrite
84.953 [813/30/6682] Linking CXX shared library lib/libclang-cpp.so.22.0git
85.200 [813/29/6683] Building CXX object tools/flang/lib/Optimizer/Dialect/MIF/CMakeFiles/MIFDialect.dir/MIFDialect.cpp.o
85.274 [813/28/6684] Linking CXX executable bin/clang-22
85.418 [813/27/6685] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/ArrayConstructor.cpp.o
85.498 [813/26/6686] Linking CXX executable bin/clang-repl
85.505 [813/25/6687] Linking CXX executable bin/mlir-lsp-server
85.678 [813/24/6688] Building CXX object tools/flang/lib/Optimizer/Dialect/FIRCG/CMakeFiles/FIRCodeGenDialect.dir/CGOps.cpp.o
86.024 [813/23/6689] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
86.717 [813/22/6690] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/ScheduleOrderedAssignments.cpp.o
86.860 [813/21/6691] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Command.cpp.o
87.044 [813/20/6692] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/PropagateFortranVariableAttributes.cpp.o
87.399 [813/19/6693] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFToLLVMIRTranslation.cpp.o
87.938 [813/18/6694] Building CXX object tools/flang/lib/Optimizer/OpenACC/Transforms/CMakeFiles/FIROpenACCTransforms.dir/ACCInitializeFIRAnalyses.cpp.o
88.373 [813/17/6695] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/CUDA/Descriptor.cpp.o
88.857 [813/16/6696] Linking CXX executable bin/mlir-opt
89.511 [813/15/6697] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFComputeSharedMemoryOffsetsAndSize.cpp.o
89.783 [813/14/6698] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/Target.cpp.o
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp: In static member function ‘static std::optional<std::vector<mlir::Type, std::allocator<mlir::Type> > > {anonymous}::TargetAArch64::flattenTypeList(const TypeList&)’:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp:865:23: warning: unused variable ‘c’ [-Wunused-variable]
     for (auto [c, type] : types) {
                       ^
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp: In member function ‘{anonymous}::TargetAArch64::NRegs {anonymous}::TargetAArch64::usedRegsForRecordType(mlir::Location, fir::RecordType) const’:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp:930:22: warning: unused variable ‘align’ [-Wunused-variable]
     auto [size, align] = fir::getTypeSizeAndAlignmentOrCrash(
                      ^
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-ctad-maybe-unsupported’
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-copy’
89.784 [813/13/6699] Building CXX object tools/flang/lib/Optimizer/OpenACC/Support/CMakeFiles/FIROpenACCSupport.dir/FIROpenACCUtils.cpp.o
89.804 [813/12/6700] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CharacterConversion.cpp.o
89.830 [813/11/6701] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFAddConstructor.cpp.o
89.973 [813/10/6702] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/SimdOnly.cpp.o
90.132 [813/9/6703] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/LowerNontemporal.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 2025

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

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

Here is the relevant piece of the build log for the reference
Step 7 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir --convert-arith-to-apfloat --convert-to-llvm |  /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-runner -e entry --entry-point-result=void              --shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_c_runner_utils.so | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir --convert-arith-to-apfloat --convert-to-llvm
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-runner -e entry --entry-point-result=void --shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_c_runner_utils.so
# .---command stderr------------
# | JIT session error: Symbols not found: [ __mlir_apfloat_add, printApFloat ]
# | Error: Failed to materialize symbols: { (main, { _mlir_entry, _mlir_foo, entry, foo }) }
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
# `-----------------------------
# error: command failed with exit status: 2

--

********************


makslevental added a commit that referenced this pull request Nov 11, 2025
@makslevental
Copy link
Contributor Author

reverting here #167429

makslevental added a commit that referenced this pull request Nov 11, 2025
makslevental added a commit that referenced this pull request Nov 11, 2025
makslevental added a commit that referenced this pull request Nov 11, 2025
makslevental added a commit that referenced this pull request Nov 11, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 2025

LLVM Buildbot has detected a new failure on builder mlir-s390x-linux running on systemz-1 while building mlir at step 5 "build-unified-tree".

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
682.556 [413/4/4693] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageView.cpp.o
682.594 [412/4/4694] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.o
682.628 [411/4/4695] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewText.cpp.o
682.662 [410/4/4696] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/TestingSupport.cpp.o
683.479 [409/4/4697] Linking CXX executable bin/llvm-cgdata
683.490 [408/4/4698] Building Opts.inc...
683.633 [407/4/4699] Linking CXX executable bin/llvm-cov
683.661 [406/4/4700] Building CXX object tools/llvm-cxxdump/CMakeFiles/llvm-cxxdump.dir/llvm-cxxdump.cpp.o
683.675 [405/4/4701] Building CXX object tools/llvm-cxxdump/CMakeFiles/llvm-cxxdump.dir/Error.cpp.o
683.739 [404/4/4702] Linking CXX executable bin/mlir-reduce
FAILED: bin/mlir-reduce 
: && /usr/bin/c++ -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,-rpath-link,/home/uweigand/sandbox/buildbot/mlir-s390x-linux/build/./lib  -Wl,--gc-sections tools/mlir/tools/mlir-reduce/CMakeFiles/mlir-reduce.dir/mlir-reduce.cpp.o -o bin/mlir-reduce  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libMLIRReduceLib.a  lib/libMLIRRegisterAllDialects.a  lib/libMLIRRegisterAllPasses.a  lib/libMLIRTestDialect.a  lib/libMLIRAffineTransformOps.a  lib/libMLIRAMDGPUTransforms.a  lib/libMLIRArithValueBoundsOpInterfaceImpl.a  lib/libMLIRArmNeonVectorTransformOps.a  lib/libMLIRArmSVEVectorTransformOps.a  lib/libMLIRAsyncTransforms.a  lib/libMLIRBufferizationPipelines.a  lib/libMLIRBufferizationTransformOps.a  lib/libMLIRDLTITransformOps.a  lib/libMLIRFuncTransformOps.a  lib/libMLIRFuncUtils.a  lib/libMLIRGPUTransformOps.a  lib/libMLIRGPUPipelines.a  lib/libMLIRVCIXDialect.a  lib/libMLIRMathTransforms.a  lib/libMLIRMemRefTransformOps.a  lib/libMLIRMLProgramTransforms.a  lib/libMLIRNVGPUTransformOps.a  lib/libMLIRNVGPUTransforms.a  lib/libMLIROpenACCTransforms.a  lib/libMLIROpenACCAnalysis.a  lib/libMLIROpenACCUtils.a  lib/libMLIROpenMPTransforms.a  lib/libMLIRQuantTransforms.a  lib/libMLIRSCFTransformOps.a  lib/libMLIRShapeOpsTransforms.a  lib/libMLIRSparseTensorPipelines.a  lib/libMLIRSparseTensorTransformOps.a  lib/libMLIRLinalgTransformOps.a  lib/libMLIRSparseTensorTransforms.a  lib/libMLIRSparseTensorUtils.a  lib/libMLIRSPIRVModuleCombiner.a  lib/libMLIRSPIRVTransforms.a  lib/libMLIRTensorInferTypeOpInterfaceImpl.a  lib/libMLIRTensorTransformOps.a  lib/libMLIRTransformDebugExtension.a  lib/libMLIRTransformDialectIRDLExtension.a  lib/libMLIRIRDL.a  lib/libMLIRTransformLoopExtension.a  lib/libMLIRTransformPDLExtension.a  lib/libMLIRTransformSMTExtension.a  lib/libMLIRSMT.a  lib/libMLIRTransformDialectTransforms.a  lib/libMLIRTransformTuneExtension.a  lib/libMLIRVectorTransformOps.a  lib/libMLIRWasmSSADialect.a  lib/libMLIRXeGPUTransformOps.a  lib/libMLIRTransformDialect.a  lib/libMLIRTransformDialectInterfaces.a  lib/libMLIRTransformDialectUtils.a  lib/libMLIRXeGPUTransforms.a  lib/libMLIRTargetLLVMIRTransforms.a  lib/libMLIRTargetLLVMIRImport.a  lib/libLLVMSystemZAsmParser.a  lib/libLLVMSystemZCodeGen.a  lib/libLLVMAsmPrinter.a  lib/libLLVMSystemZDesc.a  lib/libLLVMSystemZInfo.a  lib/libMLIRXeVMTarget.a  lib/libMLIRXeVMToLLVMIRTranslation.a  lib/libMLIRArithToAMDGPU.a  lib/libMLIRArithToAPFloat.a  lib/libMLIRArithToArmSME.a  lib/libMLIRArmNeon2dToIntr.a  lib/libMLIRArmSMEToSCF.a  lib/libMLIRArmSMEToLLVM.a  lib/libMLIRArmSMETransforms.a  lib/libMLIRBufferizationToMemRef.a  lib/libMLIRComplexToLibm.a  lib/libMLIRComplexToROCDLLibraryCalls.a  lib/libMLIRComplexToLLVM.a  lib/libMLIRComplexToSPIRV.a  lib/libMLIRComplexToStandard.a  lib/libMLIRComplexDivisionConversion.a  lib/libMLIRControlFlowToSCF.a  lib/libMLIRControlFlowToSPIRV.a  lib/libMLIRConvertToEmitC.a  lib/libMLIRArithToEmitC.a  lib/libMLIRFuncToEmitC.a  lib/libMLIRGPUToLLVMSPV.a  lib/libMLIRGPUToNVVMTransforms.a  lib/libMLIRGPUToROCDLTransforms.a  lib/libMLIRAMDGPUToROCDL.a  lib/libMLIRGPUToSPIRV.a  lib/libMLIRIndexToLLVM.a  lib/libMLIRLinalgToStandard.a  lib/libMLIRMathToEmitC.a  lib/libMLIRMathToFuncs.a  lib/libMLIRMathToLibm.a  lib/libMLIRMathToLLVM.a  lib/libMLIRMathToROCDL.a  lib/libMLIRAMDGPUUtils.a  lib/libMLIRMathToSPIRV.a  lib/libMLIRMathToXeVM.a  lib/libMLIRMemRefToEmitC.a  lib/libMLIRShardToMPI.a  lib/libMLIRMPIToLLVM.a  lib/libMLIRMPIDialect.a  lib/libMLIRNVGPUToNVVM.a  lib/libMLIRGPUToGPURuntimeTransforms.a  lib/libMLIRAsyncToLLVM.a  lib/libMLIRConvertToLLVMPass.a  lib/libMLIRConvertToLLVMInterface.a  lib/libMLIRNVVMToLLVM.a  lib/libMLIROpenACCToSCF.a  lib/libMLIROpenACCDialect.a  lib/libMLIROpenMPToLLVM.a  lib/libMLIRPtrToLLVM.a  lib/libMLIRReconcileUnrealizedCasts.a  lib/libMLIRSCFToControlFlow.a  lib/libMLIRSCFToEmitC.a  lib/libMLIREmitCTransforms.a  lib/libMLIREmitCDialect.a  lib/libMLIRSCFToGPU.a  lib/libMLIRGPUTransforms.a  lib/libMLIRAMDGPUDialect.a  lib/libMLIRAsyncDialect.a  lib/libMLIRSPIRVTarget.a  lib/libMLIRSPIRVSerialization.a  lib/libMLIRSPIRVBinaryUtils.a  lib/libMLIRNVVMTarget.a  lib/libMLIRNVVMToLLVMIRTranslation.a  lib/libMLIRROCDLTarget.a  lib/libMLIRTargetLLVM.a  lib/libMLIRROCDLToLLVMIRTranslation.a  lib/libMLIRROCDLDialect.a  lib/libMLIRExecutionEngineUtils.a  lib/libLLVMPasses.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMLinker.a  lib/libLLVMInstrumentation.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMTarget.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMHipStdPar.a  lib/libLLVMIRPrinter.a  lib/libLLVMObjCARCOpts.a  lib/libMLIRAffineToStandard.a  lib/libMLIRSCFToOpenMP.a  lib/libMLIRSCFToSPIRV.a  lib/libMLIRIndexToSPIRV.a  lib/libMLIRMemRefToSPIRV.a  lib/libMLIRShapeToStandard.a  lib/libMLIRShapeDialect.a  lib/libMLIRSPIRVToLLVM.a  lib/libMLIRSPIRVUtils.a  lib/libMLIRFuncToLLVM.a  lib/libMLIRArithToLLVM.a  lib/libMLIRControlFlowToLLVM.a  lib/libMLIRMemRefToLLVM.a  lib/libMLIRSPIRVAttrToLLVMConversion.a  lib/libMLIRTensorToLinalg.a  lib/libMLIRTensorToSPIRV.a  lib/libMLIRArithToSPIRV.a  lib/libMLIRFuncToSPIRV.a  lib/libMLIRTosaToArith.a  lib/libMLIRTosaToLinalg.a  lib/libMLIRTosaToMLProgram.a  lib/libMLIRMLProgramDialect.a  lib/libMLIRTosaToSCF.a  lib/libMLIRTosaToTensor.a  lib/libMLIRTosaTransforms.a  lib/libMLIRUBToLLVM.a  lib/libMLIRVectorToAMX.a  lib/libMLIRVectorToArmSME.a  lib/libMLIRArmSMEDialect.a  lib/libMLIRVectorToGPU.a  lib/libMLIRNVGPUUtils.a  lib/libMLIRVectorToLLVMPass.a  lib/libMLIRAMXTransforms.a  lib/libMLIRAMXDialect.a  lib/libMLIRArmNeonTransforms.a  lib/libMLIRArmNeonDialect.a  lib/libMLIRArmSVETransforms.a  lib/libMLIRArmSVEDialect.a  lib/libMLIRX86VectorTransforms.a  lib/libMLIRX86VectorDialect.a  lib/libMLIRVectorToLLVM.a  lib/libMLIRArithAttrToLLVMConversion.a  lib/libMLIRTargetLLVMIRExport.a  lib/libMLIRLLVMIRTransforms.a  lib/libMLIROpenMPDialect.a  lib/libMLIROpenACCMPCommon.a  lib/libMLIRTranslateLib.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMTransformUtils.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMAnalysis.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMObject.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMTextAPI.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendDirective.a  lib/libMLIRVectorToSPIRV.a  lib/libMLIRUBToSPIRV.a  lib/libMLIRSPIRVConversion.a  lib/libMLIRSPIRVDialect.a  lib/libMLIRSPIRVImageInterfaces.a  lib/libMLIRVectorToXeGPU.a  lib/libMLIRXeVMToLLVM.a  lib/libMLIRXeGPUToXeVM.a  lib/libMLIRXeGPUUtils.a  lib/libMLIRXeGPUDialect.a  lib/libMLIRXeVMDialect.a  lib/libMLIRLLVMCommonConversion.a  lib/libMLIRReduce.a  lib/libMLIRControlFlowTransforms.a  lib/libMLIRLinalgTransforms.a  lib/libMLIRIndexDialect.a  lib/libMLIRShardTransforms.a  lib/libMLIRTosaShardingInterfaceImpl.a  lib/libMLIRTosaDialect.a  lib/libMLIRQuantUtils.a  lib/libMLIRQuantDialect.a  lib/libMLIRSCFTransforms.a  lib/libMLIRTensorTransforms.a  lib/libMLIRTensorTilingInterfaceImpl.a  lib/libMLIRLinalgUtils.a  lib/libMLIRTensorUtils.a  lib/libMLIRTilingInterface.a  lib/libMLIRVectorToSCF.a  lib/libMLIRVectorTransforms.a  lib/libMLIRGPUUtils.a  lib/libMLIRLinalgDialect.a  lib/libMLIRParser.a  lib/libMLIRBytecodeReader.a  lib/libMLIRAsmParser.a  lib/libMLIRMemRefTransforms.a  lib/libMLIRAffineTransforms.a  lib/libMLIRSCFUtils.a  lib/libMLIRAffineUtils.a  lib/libMLIRArithTransforms.a  lib/libMLIRBufferizationTransforms.a  lib/libMLIRBufferizationDialect.a  lib/libMLIRSparseTensorDialect.a  lib/libMLIRFuncTransforms.a  lib/libMLIRShardingInterface.a  lib/libMLIRShardDialect.a  lib/libMLIRNVGPUDialect.a  lib/libMLIRMemRefUtils.a  lib/libMLIRVectorUtils.a  lib/libMLIRAffineAnalysis.a  lib/libMLIRSCFDialect.a  lib/libMLIRControlFlowDialect.a  lib/libMLIRFuncDialect.a  lib/libMLIRVectorDialect.a  lib/libMLIRIndexingMapOpInterface.a  lib/libMLIRMaskableOpInterface.a  lib/libMLIRMaskingOpInterface.a  lib/libMLIRVectorInterfaces.a  lib/libMLIRNVVMDialect.a  lib/libMLIRGPUDialect.a  lib/libMLIRDLTIDialect.a  lib/libMLIRMathDialect.a  lib/libMLIRLLVMDialect.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMBinaryFormat.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMTargetParser.a  lib/libMLIRPtrDialect.a  lib/libMLIRPtrMemorySpaceInterfaces.a  lib/libMLIRTensorDialect.a  lib/libMLIRAffineDialect.a  lib/libMLIRMemRefDialect.a  lib/libMLIRArithUtils.a  lib/libMLIRComplexDialect.a  lib/libMLIRArithDialect.a  lib/libMLIRUBDialect.a  lib/libMLIRDialectUtils.a  lib/libMLIRCastInterfaces.a  lib/libMLIRInferIntRangeCommon.a  lib/libMLIRShapedOpInterfaces.a  lib/libMLIRParallelCombiningOpInterface.a  lib/libMLIRDerivedAttributeOpInterface.a  lib/libMLIRDialect.a  lib/libMLIRTransforms.a  lib/libMLIRTransformUtils.a  lib/libMLIRRewrite.a  lib/libMLIRRewritePDL.a  lib/libMLIRPDLToPDLInterp.a  lib/libMLIRPass.a  lib/libMLIRPDLInterpDialect.a  lib/libMLIRPDLDialect.a  lib/libMLIRSubsetOpInterface.a  lib/libMLIRMemorySlotInterfaces.a  lib/libMLIRMemOpInterfaces.a  lib/libMLIRRuntimeVerifiableOpInterface.a  lib/libMLIRValueBoundsOpInterface.a  lib/libMLIRDestinationStyleOpInterface.a  lib/libMLIRAnalysis.a  lib/libMLIRControlFlowInterfaces.a  lib/libMLIRDataLayoutInterfaces.a  lib/libMLIRInferTypeOpInterface.a  lib/libMLIRSideEffectInterfaces.a  lib/libMLIRPresburger.a  lib/libMLIRLoopLikeInterface.a  lib/libMLIRFunctionInterfaces.a  lib/libMLIRCallInterfaces.a  lib/libMLIRViewLikeInterface.a  lib/libMLIRInferStridedMetadataInterface.a  lib/libMLIRInferIntRangeInterface.a  lib/libMLIRIR.a  lib/libMLIRSupport.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  /usr/lib/s390x-linux-gnu/libz.so  lib/libLLVMDemangle.a && :
/usr/bin/ld: lib/libMLIRArithToAPFloat.a(ArithToAPFloat.cpp.o): in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.0]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.0+0x1b8): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
683.747 [404/3/4703] Building CXX object tools/llvm-cvtres/CMakeFiles/llvm-cvtres.dir/llvm-cvtres.cpp.o
684.409 [404/2/4704] Linking CXX executable bin/llvm-cxxdump
695.398 [404/1/4705] Linking CXX executable bin/mlir-transform-opt
ninja: build stopped: subcommand failed.

makslevental added a commit that referenced this pull request Nov 11, 2025
makslevental added a commit that referenced this pull request Nov 11, 2025
makslevental added a commit that referenced this pull request Nov 11, 2025
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Nov 11, 2025
…ss: `arith-to-apfloat` (#166618)" (#167431)

Reland llvm/llvm-project#166618 with
MLIRFuncUtils linked in.
makslevental added a commit that referenced this pull request Nov 11, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 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/28691

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)
...
[5603/8203] Creating library symlink lib/libMLIRCAPIIR.so
[5604/8203] Creating library symlink lib/libMLIRArithTransforms.so
[5605/8203] Creating library symlink lib/libMLIRShapeOpsTransforms.so
[5606/8203] Linking CXX shared library lib/libMLIRTransformDialectInterfaces.so.22.0git
[5607/8203] Linking CXX shared library lib/libMLIRTensorTilingInterfaceImpl.so.22.0git
[5608/8203] Creating library symlink lib/libMLIRTensorTilingInterfaceImpl.so
[5609/8203] Linking CXX shared library lib/libMLIRTestMathToVCIX.so.22.0git
[5610/8203] Creating library symlink lib/libMLIRTransformDialectInterfaces.so
[5611/8203] Creating library symlink lib/libMLIRTestMathToVCIX.so
[5612/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.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/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.0]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.0+0x129): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5613/8203] Linking CXX shared library lib/libMLIRCAPINVVM.so.22.0git
[5614/8203] Linking CXX shared library lib/libMLIRAffineTransforms.so.22.0git
[5615/8203] Linking CXX shared library lib/libMLIRX86VectorDialect.so.22.0git
[5616/8203] Linking CXX shared library lib/libMLIRCAPIArith.so.22.0git
[5617/8203] Linking CXX shared library lib/libMLIRArithToLLVM.so.22.0git
[5618/8203] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.22.0git
[5619/8203] Linking CXX shared library lib/libMLIRArithTestPasses.so.22.0git
[5620/8203] Linking CXX shared library lib/libMLIRTransformDialect.so.22.0git
[5621/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToNVVMPipeline.cpp.o
[5622/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUOpsLowering.cpp.o
[5623/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Tiling.cpp.o
[5624/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5625/8203] Building CXX object tools/mlir/lib/Conversion/GPUToLLVMSPV/CMakeFiles/obj.MLIRGPUToLLVMSPV.dir/GPUToLLVMSPV.cpp.o
[5626/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5627/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/WmmaOpsToNvvm.cpp.o
[5628/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
[5629/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
[5630/8203] Building CXX object tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o
[5631/8203] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
[5632/8203] Building CXX object tools/mlir/lib/Conversion/GPUToROCDL/CMakeFiles/obj.MLIRGPUToROCDLTransforms.dir/LowerGpuOpsToROCDLOps.cpp.o
[5633/8203] Building CXX object tools/mlir/lib/Conversion/NVGPUToNVVM/CMakeFiles/obj.MLIRNVGPUToNVVM.dir/NVGPUToNVVM.cpp.o
[5634/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[5635/8203] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[5636/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToXeVMPipeline.cpp.o
[5637/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/TransformOps/CMakeFiles/obj.MLIRLinalgTransformOps.dir/LinalgTransformOps.cpp.o
[5638/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorPasses.cpp.o
[5639/8203] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
[5640/8203] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[5641/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[5642/8203] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[5643/8203] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[5644/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[5645/8203] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
ninja: build stopped: subcommand failed.
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5603/8203] Creating library symlink lib/libMLIRCAPIIR.so
[5604/8203] Creating library symlink lib/libMLIRArithTransforms.so
[5605/8203] Creating library symlink lib/libMLIRShapeOpsTransforms.so
[5606/8203] Linking CXX shared library lib/libMLIRTransformDialectInterfaces.so.22.0git
[5607/8203] Linking CXX shared library lib/libMLIRTensorTilingInterfaceImpl.so.22.0git
[5608/8203] Creating library symlink lib/libMLIRTensorTilingInterfaceImpl.so
[5609/8203] Linking CXX shared library lib/libMLIRTestMathToVCIX.so.22.0git
[5610/8203] Creating library symlink lib/libMLIRTransformDialectInterfaces.so
[5611/8203] Creating library symlink lib/libMLIRTestMathToVCIX.so
[5612/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.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/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.0]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.0+0x129): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5613/8203] Linking CXX shared library lib/libMLIRCAPINVVM.so.22.0git
[5614/8203] Linking CXX shared library lib/libMLIRAffineTransforms.so.22.0git
[5615/8203] Linking CXX shared library lib/libMLIRX86VectorDialect.so.22.0git
[5616/8203] Linking CXX shared library lib/libMLIRCAPIArith.so.22.0git
[5617/8203] Linking CXX shared library lib/libMLIRArithToLLVM.so.22.0git
[5618/8203] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.22.0git
[5619/8203] Linking CXX shared library lib/libMLIRArithTestPasses.so.22.0git
[5620/8203] Linking CXX shared library lib/libMLIRTransformDialect.so.22.0git
[5621/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToNVVMPipeline.cpp.o
[5622/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUOpsLowering.cpp.o
[5623/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Tiling.cpp.o
[5624/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5625/8203] Building CXX object tools/mlir/lib/Conversion/GPUToLLVMSPV/CMakeFiles/obj.MLIRGPUToLLVMSPV.dir/GPUToLLVMSPV.cpp.o
[5626/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5627/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/WmmaOpsToNvvm.cpp.o
[5628/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
[5629/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
[5630/8203] Building CXX object tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o
[5631/8203] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
[5632/8203] Building CXX object tools/mlir/lib/Conversion/GPUToROCDL/CMakeFiles/obj.MLIRGPUToROCDLTransforms.dir/LowerGpuOpsToROCDLOps.cpp.o
[5633/8203] Building CXX object tools/mlir/lib/Conversion/NVGPUToNVVM/CMakeFiles/obj.MLIRNVGPUToNVVM.dir/NVGPUToNVVM.cpp.o
[5634/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[5635/8203] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[5636/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToXeVMPipeline.cpp.o
[5637/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/TransformOps/CMakeFiles/obj.MLIRLinalgTransformOps.dir/LinalgTransformOps.cpp.o
[5638/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorPasses.cpp.o
[5639/8203] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
[5640/8203] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[5641/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[5642/8203] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[5643/8203] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[5644/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[5645/8203] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 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/27482

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)
...
[5627/8203] Creating library symlink lib/libMLIRTosaToSCF.so
[5628/8203] Linking CXX shared library lib/libMLIRTestMathToVCIX.so.22.0git
[5629/8203] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5630/8203] Creating library symlink lib/libMLIRTosaToTensor.so
[5631/8203] Creating library symlink lib/libMLIRTestMathToVCIX.so
[5632/8203] Creating library symlink lib/libMLIRXeGPUDialect.so
[5633/8203] Creating library symlink lib/libMLIRReduceLib.so
[5634/8203] Linking CXX shared library lib/libMLIRTosaToLinalg.so.22.0git
[5635/8203] Creating library symlink lib/libMLIRCAPIIR.so
[5636/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.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/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.0]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.0+0x10e): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5637/8203] Creating library symlink lib/libMLIRTosaToLinalg.so
[5638/8203] Linking CXX shared library lib/libMLIRAffineToStandard.so.22.0git
[5639/8203] Linking CXX shared library lib/libMLIRArithToLLVM.so.22.0git
[5640/8203] Linking CXX shared library lib/libMLIRX86VectorDialect.so.22.0git
[5641/8203] Linking CXX shared library lib/libMLIRTensorTransforms.so.22.0git
[5642/8203] Linking CXX shared library lib/libMLIRMemRefTransforms.so.22.0git
[5643/8203] Linking CXX shared library lib/libMLIRCAPITensor.so.22.0git
[5644/8203] Linking CXX shared library lib/libMLIRTransformDialect.so.22.0git
[5645/8203] Linking CXX shared library lib/libMLIRArithTestPasses.so.22.0git
[5646/8203] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.22.0git
[5647/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Promotion.cpp.o
[5648/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5649/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5650/8203] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o
[5651/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
[5652/8203] Building CXX object tools/mlir/lib/Conversion/GPUToROCDL/CMakeFiles/obj.MLIRGPUToROCDLTransforms.dir/LowerGpuOpsToROCDLOps.cpp.o
[5653/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
[5654/8203] Building CXX object tools/mlir/lib/Conversion/NVGPUToNVVM/CMakeFiles/obj.MLIRNVGPUToNVVM.dir/NVGPUToNVVM.cpp.o
[5655/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[5656/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToXeVMPipeline.cpp.o
[5657/8203] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[5658/8203] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
[5659/8203] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/LinalgPasses.cpp.o
[5660/8203] Building CXX object tools/mlir/test/lib/Dialect/NVGPU/CMakeFiles/MLIRNVGPUTestPasses.dir/TestNVGPUTransforms.cpp.o
[5661/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/TransformOps/CMakeFiles/obj.MLIRLinalgTransformOps.dir/LinalgTransformOps.cpp.o
[5662/8203] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[5663/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorPasses.cpp.o
[5664/8203] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[5665/8203] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
[5666/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[5667/8203] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[5668/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[5669/8203] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
ninja: build stopped: subcommand failed.
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5627/8203] Creating library symlink lib/libMLIRTosaToSCF.so
[5628/8203] Linking CXX shared library lib/libMLIRTestMathToVCIX.so.22.0git
[5629/8203] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5630/8203] Creating library symlink lib/libMLIRTosaToTensor.so
[5631/8203] Creating library symlink lib/libMLIRTestMathToVCIX.so
[5632/8203] Creating library symlink lib/libMLIRXeGPUDialect.so
[5633/8203] Creating library symlink lib/libMLIRReduceLib.so
[5634/8203] Linking CXX shared library lib/libMLIRTosaToLinalg.so.22.0git
[5635/8203] Creating library symlink lib/libMLIRCAPIIR.so
[5636/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.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/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: in function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.0]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.0+0x10e): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5637/8203] Creating library symlink lib/libMLIRTosaToLinalg.so
[5638/8203] Linking CXX shared library lib/libMLIRAffineToStandard.so.22.0git
[5639/8203] Linking CXX shared library lib/libMLIRArithToLLVM.so.22.0git
[5640/8203] Linking CXX shared library lib/libMLIRX86VectorDialect.so.22.0git
[5641/8203] Linking CXX shared library lib/libMLIRTensorTransforms.so.22.0git
[5642/8203] Linking CXX shared library lib/libMLIRMemRefTransforms.so.22.0git
[5643/8203] Linking CXX shared library lib/libMLIRCAPITensor.so.22.0git
[5644/8203] Linking CXX shared library lib/libMLIRTransformDialect.so.22.0git
[5645/8203] Linking CXX shared library lib/libMLIRArithTestPasses.so.22.0git
[5646/8203] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.22.0git
[5647/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Promotion.cpp.o
[5648/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5649/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5650/8203] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o
[5651/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
[5652/8203] Building CXX object tools/mlir/lib/Conversion/GPUToROCDL/CMakeFiles/obj.MLIRGPUToROCDLTransforms.dir/LowerGpuOpsToROCDLOps.cpp.o
[5653/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
[5654/8203] Building CXX object tools/mlir/lib/Conversion/NVGPUToNVVM/CMakeFiles/obj.MLIRNVGPUToNVVM.dir/NVGPUToNVVM.cpp.o
[5655/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUToLLVMConversion.cpp.o
[5656/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToXeVMPipeline.cpp.o
[5657/8203] Building CXX object tools/mlir/lib/Conversion/MathToROCDL/CMakeFiles/obj.MLIRMathToROCDL.dir/MathToROCDL.cpp.o
[5658/8203] Building CXX object tools/mlir/lib/Dialect/SCF/TransformOps/CMakeFiles/obj.MLIRSCFTransformOps.dir/SCFTransformOps.cpp.o
[5659/8203] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/LinalgPasses.cpp.o
[5660/8203] Building CXX object tools/mlir/test/lib/Dialect/NVGPU/CMakeFiles/MLIRNVGPUTestPasses.dir/TestNVGPUTransforms.cpp.o
[5661/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/TransformOps/CMakeFiles/obj.MLIRLinalgTransformOps.dir/LinalgTransformOps.cpp.o
[5662/8203] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
[5663/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorPasses.cpp.o
[5664/8203] Building CXX object tools/mlir/lib/Dialect/GPU/TransformOps/CMakeFiles/obj.MLIRGPUTransformOps.dir/GPUTransformOps.cpp.o
[5665/8203] Building CXX object tools/mlir/lib/Dialect/Vector/TransformOps/CMakeFiles/obj.MLIRVectorTransformOps.dir/VectorTransformOps.cpp.o
[5666/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/LowerGpuOpsToNVVMOps.cpp.o
[5667/8203] Building CXX object tools/mlir/lib/Dialect/NVGPU/TransformOps/CMakeFiles/obj.MLIRNVGPUTransformOps.dir/NVGPUTransformOps.cpp.o
[5668/8203] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
[5669/8203] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-x86_64-linux-fast running on sanitizer-buildbot3 while building mlir at step 2 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 93672 tests, 64 workers --
Testing:  0.. 10.. 20.. 30
FAIL: MLIR :: mlir-runner/utils.mlir (3000 of 93672)
******************** TEST 'MLIR :: mlir-runner/utils.mlir' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-opt /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir -pass-pipeline="builtin.module(func.func(convert-linalg-to-loops,convert-scf-to-cf,convert-arith-to-llvm),finalize-memref-to-llvm,convert-func-to-llvm,convert-cf-to-llvm,reconcile-unrealized-casts)" | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir --check-prefix=PRINT-0D
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-opt /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir '-pass-pipeline=builtin.module(func.func(convert-linalg-to-loops,convert-scf-to-cf,convert-arith-to-llvm),finalize-memref-to-llvm,convert-func-to-llvm,convert-cf-to-llvm,reconcile-unrealized-casts)'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so
# .---command stderr------------
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so
# |  #0 0x00005903b4211126 ___interceptor_backtrace /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4530:13
# |  #1 0x00005903b493f978 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:834:13
# |  #2 0x00005903b4939399 llvm::sys::RunSignalHandlers() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Signals.cpp:0:5
# |  #3 0x00005903b494188e SignalHandler(int, siginfo_t*, void*) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:426:38
# |  #4 0x00007b4ed04458d0 (/lib/x86_64-linux-gnu/libc.so.6+0x458d0)
# |  #5 0x00007b4ed04a49bc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0xa49bc)
# |  #6 0x00007b4ed044579e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4579e)
# |  #7 0x00007b4ed04288cd abort (/lib/x86_64-linux-gnu/libc.so.6+0x288cd)
# |  #8 0x00005903b428c85c (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner+0x7d4385c)
# |  #9 0x00005903b428b05e __sanitizer::Die() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:52:5
# | #10 0x00005903b427257b push_back /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common.h:543:7
# | #11 0x00005903b427257b __asan::ScopedInErrorReport::~ScopedInErrorReport() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_report.cpp:193:29
# | #12 0x00005903b4273d3d __asan::ReportODRViolation(__asan_global const*, unsigned int, __asan_global const*, unsigned int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_report.cpp:414:1
# | #13 0x00005903b41de50a CheckODRViolationViaIndicator /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:216:24
# | #14 0x00005903b41de50a RegisterGlobal /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:292:7
# | #15 0x00005903b41de50a __asan_register_globals /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:461:5
# | #16 0x00005903b41df08a __asan_register_elf_globals /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:415:9
# | #17 0x0000774ec1b50258 asan.module_ctor APFloatWrappers.cpp:0:0
# | #18 0x00007b4ed0db04af (/lib64/ld-linux-x86-64.so.2+0x54af)
# | #19 0x00007b4ed0db05c4 (/lib64/ld-linux-x86-64.so.2+0x55c4)
# | #20 0x00007b4ed0dad552 _dl_catch_exception (/lib64/ld-linux-x86-64.so.2+0x2552)
# | #21 0x00007b4ed0db7b89 (/lib64/ld-linux-x86-64.so.2+0xcb89)
# | #22 0x00007b4ed0dad4bc _dl_catch_exception (/lib64/ld-linux-x86-64.so.2+0x24bc)
# | #23 0x00007b4ed0db7fb4 (/lib64/ld-linux-x86-64.so.2+0xcfb4)
Step 10 (stage2/asan_ubsan check) failure: stage2/asan_ubsan check (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 93672 tests, 64 workers --
Testing:  0.. 10.. 20.. 30
FAIL: MLIR :: mlir-runner/utils.mlir (3000 of 93672)
******************** TEST 'MLIR :: mlir-runner/utils.mlir' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-opt /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir -pass-pipeline="builtin.module(func.func(convert-linalg-to-loops,convert-scf-to-cf,convert-arith-to-llvm),finalize-memref-to-llvm,convert-func-to-llvm,convert-cf-to-llvm,reconcile-unrealized-casts)" | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir --check-prefix=PRINT-0D
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-opt /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/mlir-runner/utils.mlir '-pass-pipeline=builtin.module(func.func(convert-linalg-to-loops,convert-scf-to-cf,convert-arith-to-llvm),finalize-memref-to-llvm,convert-func-to-llvm,convert-cf-to-llvm,reconcile-unrealized-casts)'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so
# .---command stderr------------
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner -e print_0d -entry-point-result=void -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_runner_utils.so -shared-libs=/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/lib/libmlir_c_runner_utils.so
# |  #0 0x00005903b4211126 ___interceptor_backtrace /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4530:13
# |  #1 0x00005903b493f978 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:834:13
# |  #2 0x00005903b4939399 llvm::sys::RunSignalHandlers() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Signals.cpp:0:5
# |  #3 0x00005903b494188e SignalHandler(int, siginfo_t*, void*) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:426:38
# |  #4 0x00007b4ed04458d0 (/lib/x86_64-linux-gnu/libc.so.6+0x458d0)
# |  #5 0x00007b4ed04a49bc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0xa49bc)
# |  #6 0x00007b4ed044579e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4579e)
# |  #7 0x00007b4ed04288cd abort (/lib/x86_64-linux-gnu/libc.so.6+0x288cd)
# |  #8 0x00005903b428c85c (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-runner+0x7d4385c)
# |  #9 0x00005903b428b05e __sanitizer::Die() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:52:5
# | #10 0x00005903b427257b push_back /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common.h:543:7
# | #11 0x00005903b427257b __asan::ScopedInErrorReport::~ScopedInErrorReport() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_report.cpp:193:29
# | #12 0x00005903b4273d3d __asan::ReportODRViolation(__asan_global const*, unsigned int, __asan_global const*, unsigned int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_report.cpp:414:1
# | #13 0x00005903b41de50a CheckODRViolationViaIndicator /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:216:24
# | #14 0x00005903b41de50a RegisterGlobal /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:292:7
# | #15 0x00005903b41de50a __asan_register_globals /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:461:5
# | #16 0x00005903b41df08a __asan_register_elf_globals /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/asan_globals.cpp:415:9
# | #17 0x0000774ec1b50258 asan.module_ctor APFloatWrappers.cpp:0:0
# | #18 0x00007b4ed0db04af (/lib64/ld-linux-x86-64.so.2+0x54af)
# | #19 0x00007b4ed0db05c4 (/lib64/ld-linux-x86-64.so.2+0x55c4)
# | #20 0x00007b4ed0dad552 _dl_catch_exception (/lib64/ld-linux-x86-64.so.2+0x2552)
# | #21 0x00007b4ed0db7b89 (/lib64/ld-linux-x86-64.so.2+0xcb89)
# | #22 0x00007b4ed0dad4bc _dl_catch_exception (/lib64/ld-linux-x86-64.so.2+0x24bc)
# | #23 0x00007b4ed0db7fb4 (/lib64/ld-linux-x86-64.so.2+0xcfb4)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 11, 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/27503

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)
...
[5457/8203] Linking CXX shared library lib/libMLIRBufferizationToMemRef.so.22.0git
[5458/8203] Creating library symlink lib/libMLIRControlFlowTransforms.so
[5459/8203] Creating library symlink lib/libMLIRBufferizationToMemRef.so
[5460/8203] Linking CXX shared library lib/libMLIRQuantTransforms.so.22.0git
[5461/8203] Creating library symlink lib/libMLIRConvertToEmitC.so
[5462/8203] Linking CXX shared library lib/libMLIRMLProgramTransforms.so.22.0git
[5463/8203] Creating library symlink lib/libMLIRTosaTransforms.so
[5464/8203] Creating library symlink lib/libMLIRQuantTransforms.so
[5465/8203] Creating library symlink lib/libMLIRMLProgramTransforms.so
[5466/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  -lpthread  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: In function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.332]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.332+0x10a): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5467/8203] Linking CXX shared library lib/libMLIRAffineTransforms.so.22.0git
[5468/8203] Linking CXX shared library lib/libMLIRShapeOpsTransforms.so.22.0git
[5469/8203] Linking CXX shared library lib/libMLIRTosaToArith.so.22.0git
[5470/8203] Linking CXX shared library lib/libMLIRTosaToMLProgram.so.22.0git
[5471/8203] Linking CXX shared library lib/libMLIRTensorTilingInterfaceImpl.so.22.0git
[5472/8203] Linking CXX shared library lib/libMLIRTosaToLinalg.so.22.0git
[5473/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DecomposeGenericByUnfoldingPermutation.cpp.o
[5474/8203] Linking CXX shared library lib/libMLIRLLVMDialect.so.22.0git
[5475/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5476/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Tiling.cpp.o
[5477/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToNVVMPipeline.cpp.o
[5478/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUOpsLowering.cpp.o
[5479/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5480/8203] Building CXX object tools/mlir/lib/Conversion/GPUToLLVMSPV/CMakeFiles/obj.MLIRGPUToLLVMSPV.dir/GPUToLLVMSPV.cpp.o
[5481/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Support/TypeName.h:14,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Support/TypeID.h:24,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/MLIRContext.h:13,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/DialectRegistry.h:16,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/Dialect.h:16,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/OpDefinition.h:22,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/Builders.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/PatternMatch.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h:14,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/StringRef.h: In function ‘std::__cxx11::string llvm::impl::computePrefix(llvm::StringRef, const char*, int, int)’:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/StringRef.h:887:20: warning: ‘int __builtin_memcmp_eq(const void*, const void*, long unsigned int)’ reading 17 bytes from a region of size 15 [-Wstringop-overflow=]
     return ::memcmp(LHS.data(), RHS.data(), LHS.size()) == 0;
            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-copy’
[5482/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/WmmaOpsToNvvm.cpp.o
[5483/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5457/8203] Linking CXX shared library lib/libMLIRBufferizationToMemRef.so.22.0git
[5458/8203] Creating library symlink lib/libMLIRControlFlowTransforms.so
[5459/8203] Creating library symlink lib/libMLIRBufferizationToMemRef.so
[5460/8203] Linking CXX shared library lib/libMLIRQuantTransforms.so.22.0git
[5461/8203] Creating library symlink lib/libMLIRConvertToEmitC.so
[5462/8203] Linking CXX shared library lib/libMLIRMLProgramTransforms.so.22.0git
[5463/8203] Creating library symlink lib/libMLIRTosaTransforms.so
[5464/8203] Creating library symlink lib/libMLIRQuantTransforms.so
[5465/8203] Creating library symlink lib/libMLIRMLProgramTransforms.so
[5466/8203] Linking CXX shared library lib/libMLIRArithToAPFloat.so.22.0git
FAILED: lib/libMLIRArithToAPFloat.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,libMLIRArithToAPFloat.so.22.0git -o lib/libMLIRArithToAPFloat.so.22.0git tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRArithTransforms.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libMLIRBufferizationTransforms.so.22.0git  lib/libMLIRBufferizationDialect.so.22.0git  lib/libMLIRSparseTensorDialect.so.22.0git  lib/libMLIRSCFDialect.so.22.0git  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRFuncTransforms.so.22.0git  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRShardingInterface.so.22.0git  lib/libMLIRShardDialect.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/libMLIRVectorDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRIndexingMapOpInterface.so.22.0git  lib/libMLIRMaskableOpInterface.so.22.0git  lib/libMLIRMaskingOpInterface.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  -lpthread  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Conversion/ArithToAPFloat/CMakeFiles/obj.MLIRArithToAPFloat.dir/ArithToAPFloat.cpp.o: In function `lookupOrCreateBinaryFn(mlir::OpBuilder&, mlir::SymbolOpInterface, llvm::StringRef, mlir::SymbolTableCollection*) [clone .constprop.332]':
ArithToAPFloat.cpp:(.text._ZL22lookupOrCreateBinaryFnRN4mlir9OpBuilderENS_17SymbolOpInterfaceEN4llvm9StringRefEPNS_21SymbolTableCollectionE.constprop.332+0x10a): undefined reference to `mlir::func::lookupFnDecl(mlir::SymbolOpInterface, llvm::StringRef, mlir::FunctionType, mlir::SymbolTableCollection*)'
collect2: error: ld returned 1 exit status
[5467/8203] Linking CXX shared library lib/libMLIRAffineTransforms.so.22.0git
[5468/8203] Linking CXX shared library lib/libMLIRShapeOpsTransforms.so.22.0git
[5469/8203] Linking CXX shared library lib/libMLIRTosaToArith.so.22.0git
[5470/8203] Linking CXX shared library lib/libMLIRTosaToMLProgram.so.22.0git
[5471/8203] Linking CXX shared library lib/libMLIRTensorTilingInterfaceImpl.so.22.0git
[5472/8203] Linking CXX shared library lib/libMLIRTosaToLinalg.so.22.0git
[5473/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DecomposeGenericByUnfoldingPermutation.cpp.o
[5474/8203] Linking CXX shared library lib/libMLIRLLVMDialect.so.22.0git
[5475/8203] Linking CXX shared library lib/libMLIRSPIRVDialect.so.22.0git
[5476/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Tiling.cpp.o
[5477/8203] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToNVVMPipeline.cpp.o
[5478/8203] Building CXX object tools/mlir/lib/Conversion/GPUCommon/CMakeFiles/obj.MLIRGPUToGPURuntimeTransforms.dir/GPUOpsLowering.cpp.o
[5479/8203] Building CXX object tools/mlir/lib/Dialect/OpenMP/Transforms/CMakeFiles/obj.MLIROpenMPTransforms.dir/OpenMPOffloadPrivatizationPrepare.cpp.o
[5480/8203] Building CXX object tools/mlir/lib/Conversion/GPUToLLVMSPV/CMakeFiles/obj.MLIRGPUToLLVMSPV.dir/GPUToLLVMSPV.cpp.o
[5481/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Transforms.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Support/TypeName.h:14,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Support/TypeID.h:24,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/MLIRContext.h:13,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/DialectRegistry.h:16,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/Dialect.h:16,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/OpDefinition.h:22,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/Builders.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/IR/PatternMatch.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h:12,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h:14,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/StringRef.h: In function ‘std::__cxx11::string llvm::impl::computePrefix(llvm::StringRef, const char*, int, int)’:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/StringRef.h:887:20: warning: ‘int __builtin_memcmp_eq(const void*, const void*, long unsigned int)’ reading 17 bytes from a region of size 15 [-Wstringop-overflow=]
     return ::memcmp(LHS.data(), RHS.data(), LHS.size()) == 0;
            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-copy’
[5482/8203] Building CXX object tools/mlir/lib/Conversion/GPUToNVVM/CMakeFiles/obj.MLIRGPUToNVVMTransforms.dir/WmmaOpsToNvvm.cpp.o
[5483/8203] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Vectorization.cpp.o

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.

8 participants