Skip to content

Conversation

@lhutton1
Copy link
Contributor

@lhutton1 lhutton1 commented Oct 29, 2025

This pass aims to narrow i64 types on TOSA operations to i32. It can be useful for legalizations from various frameworks. It comes with the following options:

  • "aggressive-rewrite" - This option is typically able to narrow more values, but may impact numerical behaviour if not used carefully.
  • "convert-function-boundaries" - If enabled, parameters/ results to/from a function may be narrowed. Otherwise, casts are inserted to preserve the I/O of the function.

Currently the non aggressive mode is very limited, targeting an argmax -> cast sequence that has been observed during legalization as well as some data layout operations that can always narrow. Support for more operations will be added in the future.

Co-authored-by: Vitalii Shutov [email protected]
Co-authored-by: Shubham [email protected]
Co-authored-by: Declan Flavin [email protected]

This pass aims to narrow i64 types on TOSA operations
to i32. It comes with the following options:
- "aggressive-rewrite" - This option is typically able to
  narrow more values, but may impact numerical behaviour
  if not used carefully.
- "convert-function-boundaries" - If enabled, parameters/
  results to/from a function may be narrowed. Otherwise,
  casts are inserted to preserve the I/O of the function.

Currently the non aggressive mode is very limited, targeting
an argmax -> cast sequence that has been observed during
legalization as well as some data layout operations that can
always narrow. Support for more operations will be added in
the future.

Co-authored-by: Vitalii Shutov <[email protected]>
Co-authored-by: Shubham <[email protected]>
Co-authored-by: Declan Flavin <[email protected]>
Signed-off-by: Luke Hutton <[email protected]>
Change-Id: Ia8a766c88e6f8e8d019bce6c47114ce3b8a06969
@llvmbot
Copy link
Member

llvmbot commented Oct 29, 2025

@llvm/pr-subscribers-mlir-tosa

@llvm/pr-subscribers-mlir

Author: Luke Hutton (lhutton1)

Changes

This pass aims to narrow i64 types on TOSA operations to i32. It comes with the following options:

  • "aggressive-rewrite" - This option is typically able to narrow more values, but may impact numerical behaviour if not used carefully.
  • "convert-function-boundaries" - If enabled, parameters/ results to/from a function may be narrowed. Otherwise, casts are inserted to preserve the I/O of the function.

Currently the non aggressive mode is very limited, targeting an argmax -> cast sequence that has been observed during legalization as well as some data layout operations that can always narrow. Support for more operations will be added in the future.

Co-authored-by: Vitalii Shutov <[email protected]>
Co-authored-by: Shubham <[email protected]>
Co-authored-by: Declan Flavin <[email protected]>


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

5 Files Affected:

  • (modified) mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td (+23)
  • (modified) mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt (+1)
  • (added) mlir/lib/Dialect/Tosa/Transforms/TosaNarrowI64ToI32.cpp (+310)
  • (added) mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir (+81)
  • (added) mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir (+162)
diff --git a/mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td b/mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
index 14b00b04ccc18..420e58192b8fd 100644
--- a/mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
+++ b/mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
@@ -166,4 +166,27 @@ def TosaAttachTarget : Pass<"tosa-attach-target", "ModuleOp"> {
   ];
 }
 
+def TosaNarrowI64ToI32Pass : Pass<"tosa-narrow-i64-to-i32", "func::FuncOp"> {
+  let summary = "Narrow I64 TOSA operations to I32";
+  let description = [{
+    This pass narrows TOSA operations with 64-bit integer tensor types to
+    32-bit integer tensor types. This can be useful for backends that do not
+    support the EXT-INT64 extension of TOSA.
+  }];
+
+  let options = [
+    Option<"aggressiveRewrite", "aggressive-rewrite", "bool", "false",
+      "If enabled, all TOSA operations are rewritten, regardless or whether the narrowing"
+      "is safe. This option may lead to data loss if not used carefully.">,
+    Option<"convertFunctionBoundaries", "convert-function-boundaries", "bool", "false",
+      "If enabled, the pass will convert function I/O types as well. Otherwise casts will"
+      "be inserted at the I/O boundaries.">
+  ];
+
+  let dependentDialects = [
+    "func::FuncDialect",
+    "tosa::TosaDialect",
+  ];
+}
+
 #endif // MLIR_DIALECT_TOSA_TRANSFORMS_PASSES
diff --git a/mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
index 41b338d6e7189..987ce4ed870c9 100644
--- a/mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
@@ -12,6 +12,7 @@ add_mlir_dialect_library(MLIRTosaTransforms
   TosaTypeConverters.cpp
   TosaProfileCompliance.cpp
   TosaValidation.cpp
+  TosaNarrowI64ToI32.cpp
 
   ADDITIONAL_HEADER_DIRS
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/Tosa/Transforms
diff --git a/mlir/lib/Dialect/Tosa/Transforms/TosaNarrowI64ToI32.cpp b/mlir/lib/Dialect/Tosa/Transforms/TosaNarrowI64ToI32.cpp
new file mode 100644
index 0000000000000..ddaf7d8a5e033
--- /dev/null
+++ b/mlir/lib/Dialect/Tosa/Transforms/TosaNarrowI64ToI32.cpp
@@ -0,0 +1,310 @@
+//===- TosaNarrowI64ToI32.cpp ---------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+//
+// This pass narrows TOSA operations with 64-bit integer tensor types to
+// 32-bit integer tensor types. This can be useful for backends that do not
+// support the EXT-INT64 extension of TOSA. The pass has two options:
+//
+// - aggressive-rewrite - If enabled, all TOSA operations are rewritten,
+//     regardless or whether the narrowing is safe. This option may lead to
+//     data loss if not used carefully.
+// - convert-function-boundaries - If enabled, the pass will convert function
+//     I/O types as well. Otherwise casts will be inserted at the I/O
+//     boundaries.
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/Dialect/Tosa/Transforms/Passes.h"
+
+#include "mlir/Dialect/Func/IR/FuncOps.h"
+#include "mlir/Dialect/Func/Transforms/FuncConversions.h"
+#include "mlir/IR/Verifier.h"
+#include "mlir/Pass/Pass.h"
+
+namespace mlir {
+namespace tosa {
+#define GEN_PASS_DEF_TOSANARROWI64TOI32PASS
+#include "mlir/Dialect/Tosa/Transforms/Passes.h.inc"
+} // namespace tosa
+} // namespace mlir
+
+using namespace mlir;
+using namespace mlir::tosa;
+
+namespace {
+
+LogicalResult convertGenericOp(Operation *op, ValueRange operands,
+                               ConversionPatternRewriter &rewriter,
+                               const TypeConverter *typeConverter) {
+  // Convert types of results
+  SmallVector<Type, 4> newResults;
+  if (failed(typeConverter->convertTypes(op->getResultTypes(), newResults)))
+    return failure();
+
+  // Create a new operation state
+  OperationState state(op->getLoc(), op->getName().getStringRef(), operands,
+                       newResults, {}, op->getSuccessors());
+
+  for (const NamedAttribute &namedAttribute : op->getAttrs()) {
+    const Attribute attribute = namedAttribute.getValue();
+
+    // Convert integer attribute type
+    if (const auto intAttr = dyn_cast<IntegerAttr>(attribute)) {
+      const std::optional<Attribute> convertedAttribute =
+          typeConverter->convertTypeAttribute(intAttr.getType(), attribute);
+      state.addAttribute(namedAttribute.getName(), convertedAttribute.value());
+      continue;
+    }
+
+    if (const auto typeAttr = dyn_cast<TypeAttr>(attribute)) {
+      Type type = typeAttr.getValue();
+      const std::optional<Attribute> convertedAttribute =
+          typeConverter->convertTypeAttribute(type, attribute);
+      if (!convertedAttribute)
+        return rewriter.notifyMatchFailure(op,
+                                           "Failed to convert type attribute.");
+      state.addAttribute(namedAttribute.getName(), convertedAttribute.value());
+      continue;
+    }
+
+    if (const auto denseElementsAttr = dyn_cast<DenseElementsAttr>(attribute)) {
+      const Type type = denseElementsAttr.getType();
+      const std::optional<Attribute> convertedAttribute =
+          typeConverter->convertTypeAttribute(type, denseElementsAttr);
+      if (!convertedAttribute)
+        return rewriter.notifyMatchFailure(
+            op, "Failed to convert dense elements attribute.");
+      state.addAttribute(namedAttribute.getName(), convertedAttribute.value());
+      continue;
+    }
+
+    state.addAttribute(namedAttribute.getName(), attribute);
+  }
+
+  for (Region &region : op->getRegions()) {
+    Region *newRegion = state.addRegion();
+    rewriter.inlineRegionBefore(region, *newRegion, newRegion->begin());
+    if (failed(rewriter.convertRegionTypes(newRegion, *typeConverter)))
+      return failure();
+  }
+
+  Operation *newOp = rewriter.create(state);
+  rewriter.replaceOp(op, newOp->getResults());
+  return success();
+}
+
+// ===========================
+// Aggressive rewrite patterns
+// ===========================
+
+class ConvertGenericOp : public ConversionPattern {
+public:
+  ConvertGenericOp(TypeConverter &typeConverter, MLIRContext *context)
+      : ConversionPattern(typeConverter, MatchAnyOpTypeTag{}, 0, context) {}
+
+  LogicalResult
+  matchAndRewrite(Operation *op, ArrayRef<Value> operands,
+                  ConversionPatternRewriter &rewriter) const final {
+    if (!isa<tosa::TosaOp>(op))
+      return rewriter.notifyMatchFailure(
+          op,
+          "Support for operations other than TOSA has not been implemented.");
+
+    return convertGenericOp(op, operands, rewriter, typeConverter);
+  }
+};
+
+// ===============================
+// Bounds checked rewrite patterns
+// ===============================
+
+class ConvertArgMaxOpWithBoundsChecking
+    : public OpConversionPattern<tosa::ArgMaxOp> {
+  using OpConversionPattern::OpConversionPattern;
+
+  LogicalResult
+  matchAndRewrite(tosa::ArgMaxOp op, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const final {
+    // Output type can be narrowed based on the size of the axis dimension
+    const int32_t axis = op.getAxis();
+    const auto inputType = dyn_cast<ShapedType>(adaptor.getInput().getType());
+    if (!inputType || !inputType.isStaticDim(axis))
+      return rewriter.notifyMatchFailure(
+          op, "Requires a static axis dimension for bounds checking.");
+    const int64_t axisDim = inputType.getDimSize(axis);
+    if (axisDim >= std::numeric_limits<int32_t>::max())
+      return rewriter.notifyMatchFailure(
+          op, "Axis dimension is too large to narrow safely.");
+
+    const Type resultType = op.getOutput().getType();
+    const Type newResultType = typeConverter->convertType(resultType);
+    rewriter.replaceOpWithNewOp<tosa::ArgMaxOp>(op, newResultType,
+                                                adaptor.getInput(), axis);
+    return success();
+  }
+};
+
+class ConvertCastOpWithBoundsChecking
+    : public OpConversionPattern<tosa::CastOp> {
+  using OpConversionPattern::OpConversionPattern;
+
+  LogicalResult
+  matchAndRewrite(tosa::CastOp op, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const final {
+    const auto inputType = dyn_cast<ShapedType>(adaptor.getInput().getType());
+    const auto resultType = dyn_cast<ShapedType>(op.getResult().getType());
+    if (!inputType || !resultType)
+      return failure();
+
+    const auto elementInputIntType =
+        dyn_cast<IntegerType>(inputType.getElementType());
+    const auto elementResultIntType =
+        dyn_cast<IntegerType>(resultType.getElementType());
+    if (elementInputIntType && elementResultIntType &&
+        elementInputIntType.getWidth() > elementResultIntType.getWidth())
+      return rewriter.notifyMatchFailure(
+          op, "Narrowing cast may lead to data loss.");
+
+    rewriter.replaceOpWithNewOp<tosa::CastOp>(
+        op, typeConverter->convertType(resultType), adaptor.getInput());
+    return success();
+  }
+};
+
+template <typename OpTy>
+class ConvertTypedOp : public OpConversionPattern<OpTy> {
+  using OpConversionPattern<OpTy>::OpConversionPattern;
+
+  LogicalResult
+  matchAndRewrite(OpTy op, typename OpTy::Adaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const final {
+    return convertGenericOp(op, adaptor.getOperands(), rewriter,
+                            this->getTypeConverter());
+  }
+};
+
+struct TosaNarrowI64ToI32
+    : public tosa::impl::TosaNarrowI64ToI32PassBase<TosaNarrowI64ToI32> {
+public:
+  explicit TosaNarrowI64ToI32() = default;
+  explicit TosaNarrowI64ToI32(const TosaNarrowI64ToI32PassOptions &options)
+      : TosaNarrowI64ToI32() {
+    this->aggressiveRewrite = options.aggressiveRewrite;
+    this->convertFunctionBoundaries = options.convertFunctionBoundaries;
+  }
+
+  void runOnOperation() override {
+    MLIRContext *context = &getContext();
+
+    TypeConverter typeConverter;
+    typeConverter.addConversion([](Type type) -> Type { return type; });
+    typeConverter.addConversion([](IntegerType type) -> Type {
+      if (!type.isInteger(64))
+        return type;
+      return IntegerType::get(type.getContext(), 32);
+    });
+    typeConverter.addConversion(
+        [&typeConverter](RankedTensorType type) -> Type {
+          const Type elementType = type.getElementType();
+          if (!elementType.isInteger(64))
+            return type;
+          return RankedTensorType::get(type.getShape(),
+                                       typeConverter.convertType(elementType));
+        });
+
+    const auto materializeCast = [](OpBuilder &builder, Type resultType,
+                                    ValueRange inputs, Location loc) -> Value {
+      if (inputs.size() != 1)
+        return Value();
+      return tosa::CastOp::create(builder, loc, resultType, inputs.front());
+    };
+    typeConverter.addSourceMaterialization(materializeCast);
+    typeConverter.addTargetMaterialization(materializeCast);
+
+    typeConverter.addTypeAttributeConversion(
+        [](IntegerType type, IntegerAttr attribute) -> Attribute {
+          const APInt value = attribute.getValue().truncSSat(32);
+          return IntegerAttr::get(IntegerType::get(type.getContext(), 32),
+                                  value);
+        });
+    typeConverter.addTypeAttributeConversion(
+        [&typeConverter](ShapedType type,
+                         DenseIntElementsAttr attr) -> Attribute {
+          const ShapedType newType =
+              cast<ShapedType>(typeConverter.convertType(type));
+          const auto oldElementType = cast<IntegerType>(type.getElementType());
+          const auto newElementType =
+              cast<IntegerType>(newType.getElementType());
+          if (oldElementType.getWidth() == newElementType.getWidth())
+            return attr;
+
+          DenseElementsAttr mapped =
+              attr.mapValues(newElementType, [&](const APInt &v) {
+                return v.truncSSat(newElementType.getWidth());
+              });
+          return mapped;
+        });
+
+    ConversionTarget target(*context);
+    target.addDynamicallyLegalDialect<tosa::TosaDialect>(
+        [&typeConverter](Operation *op) {
+          return typeConverter.isLegal(op->getResultTypes()) &&
+                 typeConverter.isLegal(op->getOperandTypes());
+        });
+    if (convertFunctionBoundaries) {
+      target.addDynamicallyLegalOp<func::FuncOp>(
+          [&typeConverter](func::FuncOp op) {
+            return typeConverter.isSignatureLegal(op.getFunctionType()) &&
+                   typeConverter.isLegal(&op.getBody());
+          });
+      target.addDynamicallyLegalOp<func::ReturnOp>([](func::ReturnOp op) {
+        const FunctionType funcType =
+            op->getParentOfType<func::FuncOp>().getFunctionType();
+        return llvm::equal(op.getOperandTypes(), funcType.getResults());
+      });
+    } else {
+      target.addDynamicallyLegalOp<func::FuncOp>(
+          [](func::FuncOp op) { return true; });
+      target.addDynamicallyLegalOp<func::ReturnOp>(
+          [](func::ReturnOp op) { return true; });
+    }
+
+    RewritePatternSet patterns(context);
+    if (convertFunctionBoundaries) {
+      populateFunctionOpInterfaceTypeConversionPattern<func::FuncOp>(
+          patterns, typeConverter);
+      populateReturnOpTypeConversionPattern(patterns, typeConverter);
+    }
+    if (aggressiveRewrite) {
+      patterns.add<ConvertGenericOp>(typeConverter, context);
+    } else {
+      // Tensor
+      patterns.add<ConvertArgMaxOpWithBoundsChecking>(typeConverter, context);
+      // Data layout
+      patterns.add<ConvertTypedOp<tosa::ConcatOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::PadOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::ReshapeOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::ReverseOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::SliceOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::TileOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::TransposeOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::IdentityOp>>(typeConverter, context);
+      // Type conversion
+      patterns.add<ConvertCastOpWithBoundsChecking>(typeConverter, context);
+      // Controlflow
+      patterns.add<ConvertTypedOp<tosa::IfOp>>(typeConverter, context);
+      patterns.add<ConvertTypedOp<tosa::WhileOp>>(typeConverter, context);
+    }
+
+    if (failed(
+            applyFullConversion(getOperation(), target, std::move(patterns))))
+      signalPassFailure();
+  }
+};
+
+} // namespace
diff --git a/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir b/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
new file mode 100644
index 0000000000000..1a36177a37033
--- /dev/null
+++ b/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
@@ -0,0 +1,81 @@
+// RUN: mlir-opt -split-input-file -verify-diagnostics -tosa-narrow-i64-to-i32="aggressive-rewrite=1" %s | FileCheck %s --allow-unused-prefixes --check-prefixes=COMMON,DEFAULT
+// RUN: mlir-opt -split-input-file -verify-diagnostics -tosa-narrow-i64-to-i32="aggressive-rewrite=1 convert-function-boundaries=1" %s | FileCheck %s --allow-unused-prefixes --check-prefixes=COMMON,FUNCBOUND
+
+// CHECK-LABEL: test_i64_argmax_large_axis_dim
+func.func @test_i64_argmax_large_axis_dim(%arg0: tensor<1x513x513x2147483650xi8>) -> tensor<1x513x513xi64> {
+  // DEFAULT: tosa.argmax %arg0 {axis = 3 : i32} : (tensor<1x513x513x2147483650xi8>) -> tensor<1x513x513xi32>
+  %0 = tosa.argmax %arg0 {axis = 3 : i32} : (tensor<1x513x513x2147483650xi8>) -> tensor<1x513x513xi64>
+  return %0 : tensor<1x513x513xi64>
+}
+
+// -----
+
+// CHECK-LABEL: test_convert_input_parameters
+// DEFAULT: %[[IN:.*]]: tensor<1x513x513x3xi64>
+// FUNCBOUND: %[[IN:.*]]: tensor<1x513x513x3xi32>
+func.func @test_convert_input_parameters(%arg0: tensor<1x513x513x3xi64>) -> tensor<1x513x513x3xf32> {
+  // DEFAULT: %[[FUNC_BOUND_CAST:.*]] = tosa.cast %[[IN]] : (tensor<1x513x513x3xi64>) -> tensor<1x513x513x3xi32>
+  // DEFAULT: %[[CAST1:.*]] = tosa.cast %[[FUNC_BOUND_CAST]] : (tensor<1x513x513x3xi32>) -> tensor<1x513x513x3xi32>
+  // FUNCBOUND: %[[CAST1:.*]] = tosa.cast %[[IN]] : (tensor<1x513x513x3xi32>) -> tensor<1x513x513x3xi32>
+  %0 = tosa.cast %arg0 : (tensor<1x513x513x3xi64>) -> tensor<1x513x513x3xi32>
+
+  // COMMON: %[[CAST2:.*]] = tosa.cast %[[CAST1]] : (tensor<1x513x513x3xi32>) -> tensor<1x513x513x3xf32>
+  %1 = tosa.cast %0 : (tensor<1x513x513x3xi32>) -> tensor<1x513x513x3xf32>
+  return %1 : tensor<1x513x513x3xf32>
+}
+
+// -----
+
+// CHECK-LABEL: test_add
+// DEFAULT: %[[IN0:.*]]: tensor<13x21x1xi64>, %[[IN1:.*]]: tensor<13x21x3xi64>
+// FUNCBOUND: %[[IN0:.*]]: tensor<13x21x1xi32>, %[[IN1:.*]]: tensor<13x21x3xi32>
+func.func @test_add(%arg0: tensor<13x21x1xi64>, %arg1: tensor<13x21x3xi64>) -> tensor<13x21x3xi64> {
+  // DEFAULT-DAG: %[[FUNC_BOUND_CAST0:.*]] = tosa.cast %[[IN0]] : (tensor<13x21x1xi64>) -> tensor<13x21x1xi32>
+  // DEFAULT-DAG: %[[FUNC_BOUND_CAST1:.*]] = tosa.cast %[[IN1]] : (tensor<13x21x3xi64>) -> tensor<13x21x3xi32>
+  // DEFAULT: %[[ADD:.*]] = tosa.add %[[FUNC_BOUND_CAST0]], %[[FUNC_BOUND_CAST1]] : (tensor<13x21x1xi32>, tensor<13x21x3xi32>) -> tensor<13x21x3xi32>
+  // DEFAULT: %[[CAST:.*]] = tosa.cast %[[ADD]] : (tensor<13x21x3xi32>) -> tensor<13x21x3xi64>
+  // DEFAULT: return %[[CAST]] : tensor<13x21x3xi64>
+  // FUNCBOUND: %[[ADD:.*]] = tosa.add %[[IN0]], %[[IN1]] : (tensor<13x21x1xi32>, tensor<13x21x3xi32>) -> tensor<13x21x3xi32>
+  // FUNCBOUND: return %[[ADD]] : tensor<13x21x3xi32>
+  %0 = tosa.add %arg0, %arg1 : (tensor<13x21x1xi64>, tensor<13x21x3xi64>) -> tensor<13x21x3xi64>
+  return %0 : tensor<13x21x3xi64>
+}
+
+// -----
+
+// CHECK-LABEL: test_regions
+// DEFAULT: %[[IN0:.*]]: tensor<i64>, %[[IN1:.*]]: tensor<i64>
+func.func @test_regions(%arg0: tensor<i64>, %arg1: tensor<i64>, %arg2: tensor<i1>) -> tensor<i64> {
+  // DEFAULT-DAG: %[[CAST0:.*]] = tosa.cast %[[IN0]] : (tensor<i64>) -> tensor<i32>
+  // DEFAULT-DAG: %[[CAST1:.*]] = tosa.cast %[[IN1]] : (tensor<i64>) -> tensor<i32>
+  // COMMON: %[[IF_RESULT:.*]] = tosa.cond_if
+  %0 = tosa.cond_if %arg2 : tensor<i1> -> (tensor<i64>) {
+    // DEFAULT: %[[ADD:.*]] = tosa.add %[[CAST0]], %[[CAST1]] : (tensor<i32>, tensor<i32>) -> tensor<i32>
+    // FUNCBOUND: %[[ADD:.*]] = tosa.add %[[IN0]], %[[IN1]] : (tensor<i32>, tensor<i32>) -> tensor<i32>
+    %1 = tosa.add %arg0, %arg1 : (tensor<i64>, tensor<i64>) -> tensor<i64>
+    // COMMON: tosa.yield %[[ADD]] : tensor<i32>
+    tosa.yield %1 : tensor<i64>
+  } else {
+    // DEFAULT: %[[SUB:.*]] = tosa.sub %[[CAST0]], %[[CAST1]] : (tensor<i32>, tensor<i32>) -> tensor<i32>
+    // FUNCBOUND: %[[SUB:.*]] = tosa.sub %[[IN0]], %[[IN1]] : (tensor<i32>, tensor<i32>) -> tensor<i32>
+    %1 = tosa.sub %arg0, %arg1 : (tensor<i64>, tensor<i64>) -> tensor<i64>
+    // COMMON: tosa.yield %[[SUB]] : tensor<i32>
+    tosa.yield %1 : tensor<i64>
+  }
+  // DEFAULT: %[[OUT:.*]] = tosa.cast %[[IF_RESULT]] : (tensor<i32>) -> tensor<i64>
+  // DEFAULT: return %[[OUT]] : tensor<i64>
+  // FUNCBOUND: return %[[IF_RESULT]] : tensor<i32>
+  return %0 : tensor<i64>
+}
+
+// -----
+
+// CHECK-LABEL: test_const
+func.func @test_const() -> tensor<2xi64> {
+  // COMMON: %[[CONST:.*]] = "tosa.const"() <{values = dense<[1, 2]> : tensor<2xi32>}> : () -> tensor<2xi32>
+  %0 = "tosa.const"() <{values = dense<[1, 2]> : tensor<2xi64>}> : () -> tensor<2xi64>
+  // DEFAULT: %[[OUT:.*]] = tosa.cast %[[CONST]] : (tensor<2xi32>) -> tensor<2xi64>
+  // DEFAULT: return %[[OUT]] : tensor<2xi64>
+  // FUNCBOUND: return %[[CONST]] : tensor<2xi32>
+  return %0 : tensor<2xi64>
+}
diff --git a/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir b/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
new file mode 100644
index 0000000000000..a14483fcdd7b0
--- /dev/null
+++ b/mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
@@ -0,0 +1,162 @@
+// RUN: mlir-opt -split-input-file -verify-diagnostics -tosa-narrow-i64-to-i32="convert-function-boundaries=0" %s | FileCheck %s --allow-unused-p...
[truncated]

@lhutton1
Copy link
Contributor Author

cc @udaya-ranga @Tai78641

@psunn
Copy link
Contributor

psunn commented Nov 17, 2025

Thanks, I will help to review later today.

@lhutton1 lhutton1 merged commit c61c5d2 into llvm:main Nov 18, 2025
13 checks passed
@lhutton1 lhutton1 deleted the narrow-i64-to-i32 branch November 18, 2025 13:54
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 18, 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/28267

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)
...
[6774/8207] Building CXX object tools/llvm-cat/CMakeFiles/llvm-cat.dir/llvm-cat.cpp.o
[6775/8207] Linking CXX static library lib/libLLVMCFIVerify_static.a
[6776/8207] Building CXX object tools/llvm-cas/CMakeFiles/llvm-cas.dir/llvm-cas.cpp.o
[6777/8207] Linking CXX shared library lib/libFortranDecimal.so.22.0git
[6778/8207] Linking CXX shared library lib/libNonGTestTesting.so
[6779/8207] Building Opts.inc...
[6780/8207] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/llvm-cov.cpp.o
[6781/8207] Linking CXX shared library lib/libclangCrossTU.so.22.0git
[6782/8207] Creating library symlink lib/libclangCrossTU.so
[6783/8207] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.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,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git 
bMLIRSideEffectInterfaces.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/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o: in function `(anonymous namespace)::TosaNarrowI64ToI32::runOnOperation()':
TosaNarrowI64ToI32.cpp:(.text._ZN12_GLOBAL__N_118TosaNarrowI64ToI3214runOnOperationEv+0x1a76): undefined reference to `mlir::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)'
collect2: error: ld returned 1 exit status
[6784/8207] Linking CXX executable bin/llvm-bcanalyzer
[6785/8207] Linking CXX shared library lib/libclangExtractAPI.so.22.0git
[6786/8207] Linking CXX executable tools/flang/unittests/Evaluate/bit-population-count.test
[6787/8207] Linking CXX shared library lib/libLLVMCFIVerify.so.22.0git
[6788/8207] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/Options.cpp.o
[6789/8207] Linking CXX executable tools/flang/unittests/Evaluate/uint128.test
[6790/8207] Linking CXX executable tools/flang/unittests/Evaluate/leading-zero-bit-count.test
[6791/8207] Linking CXX executable bin/lli-child-target
[6792/8207] Linking CXX shared library lib/libclangToolingRefactoring.so.22.0git
[6793/8207] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
[6794/8207] Building CXX object tools/clang/tools/clang-fuzzer/handle-cxx/CMakeFiles/obj.clangHandleCXX.dir/handle_cxx.cpp.o
[6795/8207] Linking CXX executable bin/llvm-as
[6796/8207] Building CXX object tools/clang/tools/clang-diff/CMakeFiles/clang-diff.dir/ClangDiff.cpp.o
[6797/8207] Linking CXX executable bin/lli
[6798/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/CodeCompletion.cpp.o
[6799/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.cpp:9:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[6800/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[6801/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterUtils.cpp.o
[6802/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Value.cpp.o
[6803/8207] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[6804/8207] Linking CXX shared library lib/libclangStaticAnalyzerCore.so.22.0git
[6805/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/InterpreterValuePrinter.cpp:13:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
Step 7 (build cmake config) failure: build cmake config (failure)
...
[6774/8207] Building CXX object tools/llvm-cat/CMakeFiles/llvm-cat.dir/llvm-cat.cpp.o
[6775/8207] Linking CXX static library lib/libLLVMCFIVerify_static.a
[6776/8207] Building CXX object tools/llvm-cas/CMakeFiles/llvm-cas.dir/llvm-cas.cpp.o
[6777/8207] Linking CXX shared library lib/libFortranDecimal.so.22.0git
[6778/8207] Linking CXX shared library lib/libNonGTestTesting.so
[6779/8207] Building Opts.inc...
[6780/8207] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/llvm-cov.cpp.o
[6781/8207] Linking CXX shared library lib/libclangCrossTU.so.22.0git
[6782/8207] Creating library symlink lib/libclangCrossTU.so
[6783/8207] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.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,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git 
bMLIRSideEffectInterfaces.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/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o: in function `(anonymous namespace)::TosaNarrowI64ToI32::runOnOperation()':
TosaNarrowI64ToI32.cpp:(.text._ZN12_GLOBAL__N_118TosaNarrowI64ToI3214runOnOperationEv+0x1a76): undefined reference to `mlir::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)'
collect2: error: ld returned 1 exit status
[6784/8207] Linking CXX executable bin/llvm-bcanalyzer
[6785/8207] Linking CXX shared library lib/libclangExtractAPI.so.22.0git
[6786/8207] Linking CXX executable tools/flang/unittests/Evaluate/bit-population-count.test
[6787/8207] Linking CXX shared library lib/libLLVMCFIVerify.so.22.0git
[6788/8207] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/Options.cpp.o
[6789/8207] Linking CXX executable tools/flang/unittests/Evaluate/uint128.test
[6790/8207] Linking CXX executable tools/flang/unittests/Evaluate/leading-zero-bit-count.test
[6791/8207] Linking CXX executable bin/lli-child-target
[6792/8207] Linking CXX shared library lib/libclangToolingRefactoring.so.22.0git
[6793/8207] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
[6794/8207] Building CXX object tools/clang/tools/clang-fuzzer/handle-cxx/CMakeFiles/obj.clangHandleCXX.dir/handle_cxx.cpp.o
[6795/8207] Linking CXX executable bin/llvm-as
[6796/8207] Building CXX object tools/clang/tools/clang-diff/CMakeFiles/clang-diff.dir/ClangDiff.cpp.o
[6797/8207] Linking CXX executable bin/lli
[6798/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/CodeCompletion.cpp.o
[6799/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.cpp:9:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[6800/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:14:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;
      |                                      ^~
[6801/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterUtils.cpp.o
[6802/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Value.cpp.o
[6803/8207] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[6804/8207] Linking CXX shared library lib/libclangStaticAnalyzerCore.so.22.0git
[6805/8207] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/InterpreterValuePrinter.cpp:13:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Interpreter/IncrementalAction.h:37:38: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
   37 |   [[maybe_unused]] CompilerInstance &CI;

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 18, 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/29476

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)
...
[6869/8207] Linking CXX executable bin/llvm-debuginfod-find
[6870/8207] Linking CXX executable bin/llvm-dlang-demangle-fuzzer
[6871/8207] Linking CXX executable bin/llvm-cvtres
[6872/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Clustering.cpp.o
[6873/8207] Linking CXX executable bin/llvm-cov
[6874/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/CodeTemplate.cpp.o
[6875/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/DisassemblerHelper.cpp.o
[6876/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/default-kinds.cpp.o
[6877/8207] Linking CXX executable bin/llvm-cxxfilt
[6878/8207] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.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,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22
lib/libMLIRSideEffectInterfaces.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/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o: in function `(anonymous namespace)::TosaNarrowI64ToI32::runOnOperation()':
TosaNarrowI64ToI32.cpp:(.text._ZN12_GLOBAL__N_118TosaNarrowI64ToI3214runOnOperationEv+0x1b1e): undefined reference to `mlir::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)'
collect2: error: ld returned 1 exit status
[6879/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Error.cpp.o
[6880/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/LlvmState.cpp.o
[6881/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/MCInstrDescView.cpp.o
[6882/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/PerfHelper.cpp.o
[6883/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterValue.cpp.o
[6884/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterAliasing.cpp.o
[6885/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/LatencyBenchmarkRunner.cpp.o
[6886/8207] Linking CXX executable bin/llvm-dis
[6887/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/ParallelSnippetGenerator.cpp.o
[6888/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/SchedClassResolution.cpp.o
[6889/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/ResultAggregator.cpp.o
[6890/8207] Linking CXX executable bin/llvm-debuginfod
[6891/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/SerialSnippetGenerator.cpp.o
[6892/8207] Linking CXX shared library lib/libLLVMDiff.so.22.0git
[6893/8207] Linking CXX executable bin/clang-installapi
[6894/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Timing.cpp.o
[6895/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Fortran-features.cpp.o
[6896/8207] Linking CXX shared library lib/libclangStaticAnalyzerCheckers.so.22.0git
[6897/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/logical.test.dir/logical.cpp.o
[6898/8207] Building AMDGPUGenAsmMatcher.inc...
[6899/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/real.test.dir/real.cpp.o
[6900/8207] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[6901/8207] Building AMDGPUGenRegisterBank.inc...
[6902/8207] Building AMDGPUGenRegisterInfo.inc...
[6903/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/integer.test.dir/integer.cpp.o
[6904/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6905/8207] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6906/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6907/8207] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6908/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6909/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6910/8207] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6911/8207] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[6869/8207] Linking CXX executable bin/llvm-debuginfod-find
[6870/8207] Linking CXX executable bin/llvm-dlang-demangle-fuzzer
[6871/8207] Linking CXX executable bin/llvm-cvtres
[6872/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Clustering.cpp.o
[6873/8207] Linking CXX executable bin/llvm-cov
[6874/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/CodeTemplate.cpp.o
[6875/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/DisassemblerHelper.cpp.o
[6876/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/default-kinds.cpp.o
[6877/8207] Linking CXX executable bin/llvm-cxxfilt
[6878/8207] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.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,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22
lib/libMLIRSideEffectInterfaces.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/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o: in function `(anonymous namespace)::TosaNarrowI64ToI32::runOnOperation()':
TosaNarrowI64ToI32.cpp:(.text._ZN12_GLOBAL__N_118TosaNarrowI64ToI3214runOnOperationEv+0x1b1e): undefined reference to `mlir::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)'
collect2: error: ld returned 1 exit status
[6879/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Error.cpp.o
[6880/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/LlvmState.cpp.o
[6881/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/MCInstrDescView.cpp.o
[6882/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/PerfHelper.cpp.o
[6883/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterValue.cpp.o
[6884/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterAliasing.cpp.o
[6885/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/LatencyBenchmarkRunner.cpp.o
[6886/8207] Linking CXX executable bin/llvm-dis
[6887/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/ParallelSnippetGenerator.cpp.o
[6888/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/SchedClassResolution.cpp.o
[6889/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/ResultAggregator.cpp.o
[6890/8207] Linking CXX executable bin/llvm-debuginfod
[6891/8207] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/SerialSnippetGenerator.cpp.o
[6892/8207] Linking CXX shared library lib/libLLVMDiff.so.22.0git
[6893/8207] Linking CXX executable bin/clang-installapi
[6894/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Timing.cpp.o
[6895/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/Fortran-features.cpp.o
[6896/8207] Linking CXX shared library lib/libclangStaticAnalyzerCheckers.so.22.0git
[6897/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/logical.test.dir/logical.cpp.o
[6898/8207] Building AMDGPUGenAsmMatcher.inc...
[6899/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/real.test.dir/real.cpp.o
[6900/8207] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeFiles/CUFAttrs.dir/CUFAttr.cpp.o
[6901/8207] Building AMDGPUGenRegisterBank.inc...
[6902/8207] Building AMDGPUGenRegisterInfo.inc...
[6903/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/integer.test.dir/integer.cpp.o
[6904/8207] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6905/8207] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6906/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6907/8207] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6908/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6909/8207] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6910/8207] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6911/8207] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 18, 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/21980

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
57.962 [91/5/5438] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
58.103 [90/5/5439] Linking CXX shared library lib/libMLIRSparseTensorPipelines.so.22.0git
58.109 [89/5/5440] Creating library symlink lib/libMLIRSparseTensorPipelines.so
60.389 [89/4/5441] Building CXX object tools/mlir/test/lib/Dialect/Tosa/CMakeFiles/MLIRTosaTestPasses.dir/TosaTestPasses.cpp.o
60.470 [88/4/5442] Linking CXX shared library lib/libMLIRTosaTestPasses.so.22.0git
60.475 [87/4/5443] Creating library symlink lib/libMLIRTosaTestPasses.so
65.013 [87/3/5444] Building CXX object tools/mlir/lib/CMakeFiles/obj.MLIRRegisterAllPasses.dir/RegisterAllPasses.cpp.o
70.049 [87/2/5445] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o
72.197 [87/1/5446] Building CXX object tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o
72.281 [86/1/5447] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.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,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.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::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)
>>> referenced by TosaNarrowI64ToI32.cpp
>>>               tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o:((anonymous namespace)::TosaNarrowI64ToI32::runOnOperation())
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

@lhutton1
Copy link
Contributor Author

Seems this is causing build failures, I'm creating a revert

lhutton1 added a commit to lhutton1/llvm-project that referenced this pull request Nov 18, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 18, 2025

LLVM Buildbot has detected a new failure on builder flang-aarch64-sharedlibs running on linaro-flang-aarch64-sharedlibs while building mlir at step 5 "build-unified-tree".

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
50.131 [572/42/7391] Creating library symlink lib/libMLIRVectorTransformOps.so
50.136 [572/41/7392] Creating library symlink lib/libMLIRXeGPUTransforms.so
50.152 [570/42/7393] Creating library symlink lib/libMLIRToLLVMIRTranslationRegistration.so
50.159 [569/42/7394] Creating library symlink lib/libMLIRCAPIAsync.so
50.161 [569/41/7395] Creating library symlink lib/libclangToolingInclusions.so
50.376 [568/41/7396] Linking CXX shared library lib/libclangAST.so.22.0git
50.517 [568/40/7397] Linking CXX executable bin/clang-offload-bundler
50.520 [567/40/7398] Linking CXX shared library lib/libLLVMDWARFLinkerClassic.so.22.0git
50.535 [567/39/7399] Linking CXX shared library lib/libLLVMDWARFLinkerParallel.so.22.0git
50.560 [565/40/7400] Linking CXX shared library lib/libMLIRTosaTransforms.so.22.0git
FAILED: lib/libMLIRTosaTransforms.so.22.0git 
: && /usr/local/bin/c++ -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   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTosaTransforms.so.22.0git -o lib/libMLIRTosaTransforms.so.22.0git tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaAttachTarget.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaConvertIntegerTypeToSignless.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeTransposeConv.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaDecomposeDepthwise.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaFolders.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaInferShapes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaLayerwiseConstantFoldPass.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaMakeBroadcastable.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaOptionalDecompositions.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaReduceTransposes.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaTypeConverters.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaProfileCompliance.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaValidation.cpp.o tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libMLIRFuncDialect.so.22.0git  lib/libMLIRTosaDialect.so.22.0git  lib/libMLIRTransformUtils.so.22.0git  lib/libMLIRQuantUtils.so.22.0git  lib/libMLIRQuantDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRVectorInterfaces.so.22.0git  lib/libMLIRSubsetOpInterface.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRRewrite.so.22.0git  lib/libMLIRRewritePDL.so.22.0git  lib/libMLIRPDLToPDLInterp.so.22.0git  lib/libMLIRPass.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRPDLInterpDialect.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRPDLDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/mlir/lib/Dialect/Tosa/Transforms/CMakeFiles/obj.MLIRTosaTransforms.dir/TosaNarrowI64ToI32.cpp.o: in function `(anonymous namespace)::TosaNarrowI64ToI32::runOnOperation()':
TosaNarrowI64ToI32.cpp:(.text._ZN12_GLOBAL__N_118TosaNarrowI64ToI3214runOnOperationEv+0x59c): undefined reference to `mlir::populateReturnOpTypeConversionPattern(mlir::RewritePatternSet&, mlir::TypeConverter const&, mlir::PatternBenefit)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
50.562 [565/39/7401] Linking CXX shared library lib/libclangFormat.so.22.0git
50.567 [565/38/7402] Creating library symlink lib/libLLVMDWARFLinkerParallel.so
50.570 [565/37/7403] Creating library symlink lib/libLLVMDWARFLinkerClassic.so
50.575 [565/36/7404] Creating library symlink lib/libclangAST.so
50.596 [565/35/7405] Linking CXX shared library lib/libLLVMGlobalISel.so.22.0git
50.627 [565/34/7406] Building CXX object tools/mlir/test/lib/Dialect/Tosa/CMakeFiles/MLIRTosaTestPasses.dir/TosaTestPasses.cpp.o
50.648 [565/33/7407] Linking CXX shared library lib/libMLIRArmSMETestPasses.so.22.0git
50.656 [565/32/7408] Linking CXX shared library lib/libMLIRTensorToLinalg.so.22.0git
50.668 [565/31/7409] Linking CXX shared library lib/libMLIRCAPILinalg.so.22.0git
50.669 [565/30/7410] Linking CXX shared library lib/libMLIRShardToMPI.so.22.0git
50.674 [565/29/7411] Linking CXX shared library lib/libMLIRTensorToSPIRV.so.22.0git
50.680 [565/28/7412] Linking CXX shared library lib/libCUFAttrs.so.22.0git
50.681 [565/27/7413] Linking CXX shared library lib/libMLIRTestVectorToSPIRV.so.22.0git
50.723 [565/26/7414] Linking CXX shared library lib/libMLIRLinalgToStandard.so.22.0git
50.737 [565/25/7415] Linking CXX shared library lib/libMLIRXeGPUTestPasses.so.22.0git
50.760 [565/24/7416] Linking CXX shared library lib/libMLIRSCFToSPIRV.so.22.0git
50.772 [565/23/7417] Linking CXX shared library lib/libMLIRVectorTestPasses.so.22.0git
50.776 [565/22/7418] Linking CXX shared library lib/libMLIRXeGPUTransformOps.so.22.0git
50.804 [565/21/7419] Linking CXX shared library lib/libMLIRTilingInterfaceTestPasses.so.22.0git
50.843 [565/20/7420] Linking CXX shared library lib/libMLIRSparseTensorTransforms.so.22.0git
50.844 [565/19/7421] Linking CXX shared library lib/libMLIRLLVMTestPasses.so.22.0git
50.898 [565/18/7422] Linking CXX shared library lib/libMLIRCAPITarget.so.22.0git
51.061 [565/17/7423] Linking CXX shared library lib/libMLIRLinalgTransformOps.so.22.0git
54.229 [565/16/7424] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
57.897 [565/15/7425] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.pch
60.488 [565/14/7426] Building CXX object tools/mlir/lib/Dialect/GPU/Pipelines/CMakeFiles/obj.MLIRGPUPipelines.dir/GPUToXeVMPipeline.cpp.o
64.514 [565/13/7427] Linking CXX shared library lib/libMLIRTestDialect.so.22.0git
87.625 [565/12/7428] Building CXX object tools/flang/tools/fir-lsp-server/CMakeFiles/fir-lsp-server.dir/fir-lsp-server.cpp.o
88.509 [565/11/7429] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
89.634 [565/10/7430] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.pch
91.134 [565/9/7431] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
92.012 [565/8/7432] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.pch
97.794 [565/7/7433] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
98.485 [565/6/7434] Building CXX object tools/mlir/lib/CAPI/Conversion/CMakeFiles/obj.MLIRCAPIConversion.dir/Passes.cpp.o

lhutton1 added a commit to lhutton1/llvm-project that referenced this pull request Nov 18, 2025
This commit fixes linker failures evident on some failing build bots.

Change-Id: I0af2eed09cc0c99418e6e8b5b427557ba9ac8bc3
@lhutton1
Copy link
Contributor Author

I believe the failure can be fixed with #168581

lhutton1 added a commit that referenced this pull request Nov 19, 2025
…168581)

This commit fixes linker failures evident on some failing build bots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants