Skip to content

[mlir][SMT] add export smtlib #131492

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 12, 2025

Conversation

makslevental
Copy link
Contributor

@makslevental makslevental commented Mar 16, 2025

This PR adds the ExportSMTLIB translation/egress pass for SMT dialect.

@makslevental makslevental marked this pull request as ready for review March 27, 2025 18:16
@llvmbot llvmbot added the mlir label Mar 27, 2025
@llvmbot
Copy link
Member

llvmbot commented Mar 27, 2025

@llvm/pr-subscribers-mlir

Author: Maksim Levental (makslevental)

Changes

see #131480

TODO: add C APIs here after C APIs are added for smt dialect.


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

47 Files Affected:

  • (modified) mlir/include/mlir/Dialect/CMakeLists.txt (+1)
  • (added) mlir/include/mlir/Dialect/SMT/CMakeLists.txt (+1)
  • (added) mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt (+16)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMT.td (+22)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td (+99)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h (+29)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td (+74)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td (+255)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h (+20)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td (+30)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td (+137)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTOps.h (+25)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTOps.td (+477)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h (+30)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td (+145)
  • (added) mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h (+201)
  • (modified) mlir/include/mlir/InitAllDialects.h (+2)
  • (modified) mlir/include/mlir/InitAllTranslations.h (+5)
  • (added) mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h (+43)
  • (added) mlir/include/mlir/Target/SMTLIB/Namespace.h (+170)
  • (added) mlir/include/mlir/Target/SMTLIB/SymCache.h (+133)
  • (modified) mlir/lib/Dialect/CMakeLists.txt (+1)
  • (added) mlir/lib/Dialect/SMT/CMakeLists.txt (+1)
  • (added) mlir/lib/Dialect/SMT/IR/CMakeLists.txt (+27)
  • (added) mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp (+201)
  • (added) mlir/lib/Dialect/SMT/IR/SMTDialect.cpp (+47)
  • (added) mlir/lib/Dialect/SMT/IR/SMTOps.cpp (+472)
  • (added) mlir/lib/Dialect/SMT/IR/SMTTypes.cpp (+92)
  • (modified) mlir/lib/Target/CMakeLists.txt (+1)
  • (added) mlir/lib/Target/SMTLIB/CMakeLists.txt (+13)
  • (added) mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp (+730)
  • (added) mlir/test/Dialect/SMT/array-errors.mlir (+13)
  • (added) mlir/test/Dialect/SMT/array.mlir (+14)
  • (added) mlir/test/Dialect/SMT/basic.mlir (+200)
  • (added) mlir/test/Dialect/SMT/bitvector-errors.mlir (+112)
  • (added) mlir/test/Dialect/SMT/bitvectors.mlir (+81)
  • (added) mlir/test/Dialect/SMT/core-errors.mlir (+497)
  • (added) mlir/test/Dialect/SMT/cse-test.mlir (+12)
  • (added) mlir/test/Dialect/SMT/integers.mlir (+36)
  • (added) mlir/test/Target/SMTLIB/array.mlir (+21)
  • (added) mlir/test/Target/SMTLIB/attributes.mlir (+177)
  • (added) mlir/test/Target/SMTLIB/bitvector-errors.mlir (+7)
  • (added) mlir/test/Target/SMTLIB/bitvector.mlir (+213)
  • (added) mlir/test/Target/SMTLIB/core-errors.mlir (+83)
  • (added) mlir/test/Target/SMTLIB/core.mlir (+137)
  • (added) mlir/test/Target/SMTLIB/integer-errors.mlir (+7)
  • (added) mlir/test/Target/SMTLIB/integer.mlir (+82)
diff --git a/mlir/include/mlir/Dialect/CMakeLists.txt b/mlir/include/mlir/Dialect/CMakeLists.txt
index f710235197334..9d1a840d6644b 100644
--- a/mlir/include/mlir/Dialect/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/CMakeLists.txt
@@ -33,6 +33,7 @@ add_subdirectory(Ptr)
 add_subdirectory(Quant)
 add_subdirectory(SCF)
 add_subdirectory(Shape)
+add_subdirectory(SMT)
 add_subdirectory(SparseTensor)
 add_subdirectory(SPIRV)
 add_subdirectory(Tensor)
diff --git a/mlir/include/mlir/Dialect/SMT/CMakeLists.txt b/mlir/include/mlir/Dialect/SMT/CMakeLists.txt
new file mode 100644
index 0000000000000..f33061b2d87cf
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(IR)
diff --git a/mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
new file mode 100644
index 0000000000000..bd743ed510a9e
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
@@ -0,0 +1,16 @@
+add_mlir_dialect(SMT smt)
+add_mlir_doc(SMT SMT Dialects/SMTOps -gen-op-doc)
+# TODO(maX)
+#add_mlir_doc(SMT SMT Dialects/SMTTypes -gen-typedef-doc -dialect smt)
+
+set(LLVM_TARGET_DEFINITIONS SMT.td)
+
+mlir_tablegen(SMTAttributes.h.inc -gen-attrdef-decls)
+mlir_tablegen(SMTAttributes.cpp.inc -gen-attrdef-defs)
+add_public_tablegen_target(MLIRSMTAttrIncGen)
+add_dependencies(mlir-headers MLIRSMTAttrIncGen)
+
+mlir_tablegen(SMTEnums.h.inc -gen-enum-decls)
+mlir_tablegen(SMTEnums.cpp.inc -gen-enum-defs)
+add_public_tablegen_target(MLIRSMTEnumsIncGen)
+add_dependencies(mlir-headers MLIRSMTEnumsIncGen)
diff --git a/mlir/include/mlir/Dialect/SMT/IR/SMT.td b/mlir/include/mlir/Dialect/SMT/IR/SMT.td
new file mode 100644
index 0000000000000..dd7bd033c9fa5
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/SMT.td
@@ -0,0 +1,22 @@
+//===- SMT.td - SMT dialect definition ---------------------*- tablegen -*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_SMT_SMT_TD
+#define MLIR_DIALECT_SMT_SMT_TD
+
+include "mlir/IR/OpBase.td"
+
+include "mlir/Dialect/SMT/IR/SMTAttributes.td"
+include "mlir/Dialect/SMT/IR/SMTDialect.td"
+include "mlir/Dialect/SMT/IR/SMTTypes.td"
+include "mlir/Dialect/SMT/IR/SMTOps.td"
+include "mlir/Dialect/SMT/IR/SMTArrayOps.td"
+include "mlir/Dialect/SMT/IR/SMTBitVectorOps.td"
+include "mlir/Dialect/SMT/IR/SMTIntOps.td"
+
+#endif // MLIR_DIALECT_SMT_SMT_TD
diff --git a/mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td b/mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
new file mode 100644
index 0000000000000..05b5398b6a7f9
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
@@ -0,0 +1,99 @@
+//===- SMTArrayOps.td - SMT array operations ---------------*- tablegen -*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_SMT_SMTARRAYOPS_TD
+#define MLIR_DIALECT_SMT_SMTARRAYOPS_TD
+
+include "mlir/Dialect/SMT/IR/SMTDialect.td"
+include "mlir/Dialect/SMT/IR/SMTAttributes.td"
+include "mlir/Dialect/SMT/IR/SMTTypes.td"
+include "mlir/Interfaces/SideEffectInterfaces.td"
+
+class SMTArrayOp<string mnemonic, list<Trait> traits = []> :
+  SMTOp<"array." # mnemonic, traits>;
+
+def ArrayStoreOp : SMTArrayOp<"store", [
+  Pure,
+  TypesMatchWith<"summary", "array", "index", 
+                 "cast<ArrayType>($_self).getDomainType()">,
+  TypesMatchWith<"summary", "array", "value",
+                 "cast<ArrayType>($_self).getRangeType()">,
+  AllTypesMatch<["array", "result"]>,
+]> {
+  let summary = "stores a value at a given index and returns the new array";
+  let description = [{
+    This operation returns a new array which is the same as the 'array' operand
+    except that the value at the given 'index' is changed to the given 'value'.
+    The semantics are equivalent to the 'store' operator described in the
+    [SMT ArrayEx theory](https://smtlib.cs.uiowa.edu/Theories/ArraysEx.smt2) of
+    the SMT-LIB standard 2.6.
+  }];
+
+  let arguments = (ins ArrayType:$array, AnySMTType:$index, AnySMTType:$value);
+  let results = (outs ArrayType:$result);
+
+  let assemblyFormat = [{
+    $array `[` $index `]` `,` $value attr-dict `:` qualified(type($array))
+  }];
+}
+
+def ArraySelectOp : SMTArrayOp<"select", [
+  Pure,
+  TypesMatchWith<"summary", "array", "index",
+                 "cast<ArrayType>($_self).getDomainType()">,
+  TypesMatchWith<"summary", "array", "result",
+                 "cast<ArrayType>($_self).getRangeType()">,
+]> {
+  let summary = "get the value stored in the array at the given index";
+  let description = [{
+    This operation is retuns the value stored in the given array at the given
+    index. The semantics are equivalent to the `select` operator defined in the
+    [SMT ArrayEx theory](https://smtlib.cs.uiowa.edu/Theories/ArraysEx.smt2) of
+    the SMT-LIB standard 2.6.
+  }];
+
+  let arguments = (ins ArrayType:$array, AnySMTType:$index);
+  let results = (outs AnySMTType:$result);
+
+  let assemblyFormat = [{
+    $array `[` $index `]` attr-dict `:` qualified(type($array))
+  }];
+}
+
+def ArrayBroadcastOp : SMTArrayOp<"broadcast", [
+  Pure,
+  TypesMatchWith<"summary", "result", "value",
+                 "cast<ArrayType>($_self).getRangeType()">,
+]> {
+  let summary = "construct an array with the given value stored at every index";
+  let description = [{
+    This operation represents a broadcast of the 'value' operand to all indices
+    of the array. It is equivalent to
+    ```
+    %0 = smt.declare "array" : !smt.array<[!smt.int -> !smt.bool]>
+    %1 = smt.forall ["idx"] {
+    ^bb0(%idx: !smt.int):
+      %2 = smt.array.select %0[%idx] : !smt.array<[!smt.int -> !smt.bool]>
+      %3 = smt.eq %value, %2 : !smt.bool
+      smt.yield %3 : !smt.bool
+    }
+    smt.assert %1
+    // return %0
+    ```
+
+    In SMT-LIB, this is frequently written as
+    `((as const (Array Int Bool)) value)`.
+  }];
+
+  let arguments = (ins AnySMTType:$value);
+  let results = (outs ArrayType:$result);
+
+  let assemblyFormat = "$value attr-dict `:` qualified(type($result))";
+}
+
+#endif // MLIR_DIALECT_SMT_SMTARRAYOPS_TD
diff --git a/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h b/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
new file mode 100644
index 0000000000000..590364d572699
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
@@ -0,0 +1,29 @@
+//===- SMTAttributes.h - Declare SMT dialect attributes ----------*- C++-*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_SMT_SMTATTRIBUTES_H
+#define MLIR_DIALECT_SMT_SMTATTRIBUTES_H
+
+#include "mlir/IR/Attributes.h"
+#include "mlir/IR/BuiltinAttributeInterfaces.h"
+#include "mlir/IR/BuiltinAttributes.h"
+
+namespace mlir {
+namespace smt {
+namespace detail {
+
+struct BitVectorAttrStorage;
+
+} // namespace detail
+} // namespace smt
+} // namespace mlir
+
+#define GET_ATTRDEF_CLASSES
+#include "mlir/Dialect/SMT/IR/SMTAttributes.h.inc"
+
+#endif // MLIR_DIALECT_SMT_SMTATTRIBUTES_H
diff --git a/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td b/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
new file mode 100644
index 0000000000000..4231363fdf05b
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
@@ -0,0 +1,74 @@
+//===- SMTAttributes.td - Attributes for SMT dialect -------*- tablegen -*-===//
+//
+// 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 file defines SMT dialect specific attributes.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_SMT_SMTATTRIBUTES_TD
+#define MLIR_DIALECT_SMT_SMTATTRIBUTES_TD
+
+include "mlir/Dialect/SMT/IR/SMTDialect.td"
+include "mlir/IR/EnumAttr.td"
+include "mlir/IR/BuiltinAttributeInterfaces.td"
+
+def BitVectorAttr : AttrDef<SMTDialect, "BitVector", [
+  DeclareAttrInterfaceMethods<TypedAttrInterface>
+]> {
+  let mnemonic = "bv";
+  let description = [{
+    This attribute represents a constant value of the `(_ BitVec width)` sort as
+    described in the [SMT bit-vector
+    theory](https://smtlib.cs.uiowa.edu/theories-FixedSizeBitVectors.shtml).
+
+    The constant is as #bX (binary) or #xX (hexadecimal) in SMT-LIB
+    where X is the value in the corresponding format without any further
+    prefixing. Here, the bit-vector constant is given as a regular integer
+    literal and the associated bit-vector type indicating the bit-width.
+
+    Examples:
+    ```mlir
+    #smt.bv<5> : !smt.bv<4>
+    #smt.bv<92> : !smt.bv<8>
+    ```
+
+    The explicit type-suffix is mandatory to uniquely represent the attribute,
+    i.e., this attribute should always be used in the extended form (using the
+    `quantified` keyword in the operation assembly format string).
+
+    The bit-width must be greater than zero (i.e., at least one digit has to be
+    present).
+  }];
+
+  let parameters = (ins "llvm::APInt":$value);
+
+  let hasCustomAssemblyFormat = true;
+  let genVerifyDecl = true;
+
+  // We need to manually define the storage class because the generated one is
+  // buggy (because the APInt asserts matching bitwidth in the `==` operator and
+  // the generated storage uses that directly.
+  // Alternatively: add a type parameter to redundantly store the bitwidth of
+  // of the attribute type, it it's in the order before the 'value' it will be
+  // checked before the APInt equality (this is the reason it works for the
+  // builtin integer attribute), but would be more fragile (and we'd store
+  // duplicate data).
+  let genStorageClass = false;
+
+  let builders = [
+    AttrBuilder<(ins "llvm::StringRef":$value)>,
+    AttrBuilder<(ins "uint64_t":$value, "unsigned":$width)>,
+  ];
+
+  let extraClassDeclaration = [{
+    /// Return the bit-vector constant as a SMT-LIB formatted string.
+    std::string getValueAsString(bool prefix = true) const;
+  }];
+}
+
+#endif // MLIR_DIALECT_SMT_SMTATTRIBUTES_TD
diff --git a/mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td b/mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
new file mode 100644
index 0000000000000..b6ca34e142d82
--- /dev/null
+++ b/mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
@@ -0,0 +1,255 @@
+//===- SMTBitVectorOps.td - SMT bit-vector dialect ops -----*- tablegen -*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_SMT_SMTBITVECTOROPS_TD
+#define MLIR_DIALECT_SMT_SMTBITVECTOROPS_TD
+
+include "mlir/Dialect/SMT/IR/SMTDialect.td"
+include "mlir/Dialect/SMT/IR/SMTAttributes.td"
+include "mlir/Dialect/SMT/IR/SMTTypes.td"
+include "mlir/IR/EnumAttr.td"
+include "mlir/IR/OpAsmInterface.td"
+include "mlir/Interfaces/InferTypeOpInterface.td"
+include "mlir/Interfaces/SideEffectInterfaces.td"
+
+class SMTBVOp<string mnemonic, list<Trait> traits = []> :
+  Op<SMTDialect, "bv." # mnemonic, traits>;
+
+def BVConstantOp : SMTBVOp<"constant", [
+  Pure,
+  ConstantLike,
+  FirstAttrDerivedResultType,
+  DeclareOpInterfaceMethods<InferTypeOpInterface, ["inferReturnTypes"]>,
+  DeclareOpInterfaceMethods<OpAsmOpInterface, ["getAsmResultNames"]>
+]> {
+  let summary = "produce a constant bit-vector";
+  let description = [{
+    This operation produces an SSA value equal to the bit-vector constant
+    specified by the 'value' attribute.
+    Refer to the `BitVectorAttr` documentation for more information about
+    the semantics of bit-vector constants, their format, and associated sort.
+    The result type always matches the attribute's type.
+
+    Examples:
+    ```mlir
+    %c92_bv8 = smt.bv.constant #smt.bv<92> : !smt.bv<8>
+    %c5_bv4 = smt.bv.constant #smt.bv<5> : !smt.bv<4>
+    ```
+  }];
+
+  let arguments = (ins BitVectorAttr:$value);
+  let results = (outs BitVectorType:$result);
+
+  let assemblyFormat = "qualified($value) attr-dict";
+
+  let builders = [
+    OpBuilder<(ins "const llvm::APInt &":$value), [{
+      build($_builder, $_state,
+            BitVectorAttr::get($_builder.getContext(), value));
+    }]>,
+    OpBuilder<(ins "uint64_t":$value, "unsigned":$width), [{
+      build($_builder, $_state,
+            BitVectorAttr::get($_builder.getContext(), value, width));
+    }]>,
+  ];
+
+  let hasFolder = true;
+}
+
+class BVArithmeticOrBitwiseOp<string mnemonic, string desc> :
+    SMTBVOp<mnemonic, [Pure, SameOperandsAndResultType]> {
+  let summary = "equivalent to bv" # mnemonic # " in SMT-LIB";
+  let description = "This operation performs " # desc # [{. The semantics are
+    equivalent to the `bv}] # mnemonic # [{` operator defined in the SMT-LIB 2.6
+    standard. More precisely in the [theory of FixedSizeBitVectors](https://smtlib.cs.uiowa.edu/Theories/FixedSizeBitVectors.smt2)
+    and the [QF_BV logic](https://smtlib.cs.uiowa.edu/Logics/QF_BV.smt2)
+    describing closed quantifier-free formulas over the theory of fixed-size
+    bit-vectors.
+  }];
+
+  let results = (outs BitVectorType:$result);
+}
+
+class BinaryBVOp<string mnemonic, string desc> :
+     BVArithmeticOrBitwiseOp<mnemonic, desc> {
+  let arguments = (ins BitVectorType:$lhs, BitVectorType:$rhs);
+  let assemblyFormat = "$lhs `,` $rhs attr-dict `:` qualified(type($result))";
+}
+
+class UnaryBVOp<string mnemonic, string desc> :
+    BVArithmeticOrBitwiseOp<mnemonic, desc> {
+  let arguments = (ins BitVectorType:$input);
+  let assemblyFormat = "$input attr-dict `:` qualified(type($result))";
+}
+
+def BVNotOp  : UnaryBVOp<"not", "bitwise negation">;
+def BVNegOp  : UnaryBVOp<"neg", "two's complement unary minus">;
+
+def BVAndOp  : BinaryBVOp<"and", "bitwise AND">;
+def BVOrOp   : BinaryBVOp<"or", "bitwise OR">;
+def BVXOrOp  : BinaryBVOp<"xor", "bitwise exclusive OR">;
+
+def BVAddOp  : BinaryBVOp<"add", "addition">;
+def BVMulOp  : BinaryBVOp<"mul", "multiplication">;
+def BVUDivOp : BinaryBVOp<"udiv", "unsigned division (rounded towards zero)">;
+def BVSDivOp : BinaryBVOp<"sdiv", "two's complement signed division">;
+def BVURemOp : BinaryBVOp<"urem", "unsigned remainder">;
+def BVSRemOp : BinaryBVOp<"srem",
+  "two's complement signed remainder (sign follows dividend)">;
+def BVSModOp : BinaryBVOp<"smod",
+  "two's complement signed remainder (sign follows divisor)">;
+def BVShlOp  : BinaryBVOp<"shl", "shift left">;
+def BVLShrOp : BinaryBVOp<"lshr", "logical shift right">;
+def BVAShrOp : BinaryBVOp<"ashr", "arithmetic shift right">;
+
+def PredicateSLT : I64EnumAttrCase<"slt", 0>;
+def PredicateSLE : I64EnumAttrCase<"sle", 1>;
+def PredicateSGT : I64EnumAttrCase<"sgt", 2>;
+def PredicateSGE : I64EnumAttrCase<"sge", 3>;
+def PredicateULT : I64EnumAttrCase<"ult", 4>;
+def PredicateULE : I64EnumAttrCase<"ule", 5>;
+def PredicateUGT : I64EnumAttrCase<"ugt", 6>;
+def PredicateUGE : I64EnumAttrCase<"uge", 7>;
+let cppNamespace = "mlir::smt" in
+def BVCmpPredicate : I64EnumAttr<
+    "BVCmpPredicate",
+    "smt bit-vector comparison predicate",
+    [PredicateSLT, PredicateSLE, PredicateSGT, PredicateSGE,
+     PredicateULT, PredicateULE, PredicateUGT, PredicateUGE]>;
+
+def BVCmpOp : SMTBVOp<"cmp", [Pure, SameTypeOperands]> {
+  let summary = "compare bit-vectors interpreted as signed or unsigned";
+  let description = [{
+    This operation compares bit-vector values, interpreting them as signed or
+    unsigned values depending on the predicate. The semantics are equivalent to
+    the `bvslt`, `bvsle`, `bvsgt`, `bvsge`, `bvult`, `bvule`, `bvugt`, or
+    `bvuge` operator defined in the SMT-LIB 2.6 standard depending on the
+    specified predicate. More precisely in the
+    [theory of FixedSizeBitVectors](https://smtlib.cs.uiowa.edu/Theories/FixedSizeBitVectors.smt2)
+    and the [QF_BV logic](https://smtlib.cs.uiowa.edu/Logics/QF_BV.smt2)
+    describing closed quantifier-free formulas over the theory of fixed-size
+    bit-vectors.
+  }];
+
+  let arguments = (ins BVCmpPredicate:$pred,
+                       BitVectorType:$lhs,
+                       BitVectorType:$rhs);
+  let results = (outs BoolType:$result);
+
+  let assemblyFormat = [{
+    $pred $lhs `,` $rhs attr-dict `:` qualified(type($lhs))
+  }];
+}
+
+def ConcatOp : SMTBVOp<"concat", [
+  Pure,
+  DeclareOpInterfaceMethods<InferTypeOpInterface, ["inferReturnTypes"]>
+]> {
+  let summary = "bit-vector concatenation";
+  let description = [{
+    This operation concatenates bit-vector values with semantics equivalent to
+    the `concat` operator defined in the SMT-LIB 2.6 standard. More precisely in
+    the [theory of FixedSizeBitVectors](https://smtlib.cs.uiowa.edu/Theories/FixedSizeBitVectors.smt2)
+    and the [QF_BV logic](https://smtlib.cs.uiowa.edu/Logics/QF_BV.smt2)
+    describing closed quantifier-free formulas over the theory of fixed-size
+    bit-vectors.
+
+    Note that the following equivalences hold:
+    * `smt.bv.concat %a, %b : !smt.bv<4>, !smt.bv<4>` is equivalent to
+      `(concat a b)` in SMT-LIB
+    * `(= (concat #xf #x0) #xf0)`
+  }];
+
+  let arguments = (ins BitVectorType:$lhs, BitVectorType:$rhs);
+  let results = (outs BitVectorType:$result);
+
+  let assemblyFormat = "$lhs `,` $rhs attr-dict `:` qualified(type(operands))";
+}
+
+def ExtractOp : SMTBVOp<"extract", [Pure]> {
+  let summary = "bit-vector extraction";
+  let description = [{
+    This operation extracts the range of bits starting at the 'lowBit' index
+    (inclusive) up to the 'lowBit' + result-width index (exclusive). The
+    semantics are equivalent to the `extract` operator defined in the SMT-LIB
+    2.6 standard. More precisely in the
+    [theory of FixedSizeBitVectors](https://smtlib.cs.uiowa.edu/Theories/FixedSizeBitVectors.smt2)
+    and the [QF_BV logic](https://smtlib.cs.uiowa.edu/Logics/QF_BV.smt2)
+    describing closed quantifier-free formulas over the theory of fixed-size
+    bit-vectors.
+
+    Note that `smt.bv.extract %bv from 2 : (!smt.bv<32>) -> !smt.bv<16>` is
+    equivalent to `((_ extract 17 2) bv)`, i.e., the SMT-LIB operator takes the
+    low and high indices where both are inclusive. The following equivalence
+    holds: `(= ((_ extract 3 0) #x0f) #xf)`
+  }];
+
+  let arguments = (ins I32Attr:$lowBit, BitVectorType:$input);
+  let results = (outs BitVectorType:$result);
+
+  let assemblyFormat = [{
+    $input `from` $lowBit attr-dict `:` functional-type($input, $result)
+  }];
+
+  let hasVerifier = true;
+}
+
+def RepeatOp : SMTBVOp<"repeat", [Pure]> {
+  let summary = "repeated bit-vector concatenation of one value";
+  let description = [{
+    This operation is a shorthand for repeated concatenation of the same
+    bit-vector value, i.e.,
+    ```mlir
+    smt.bv.repeat 5 times %a : !smt.bv<4>
+    // is the same as
+    %0 = smt.bv.repeat 4 times %a : !smt.bv<4>
+    smt.bv.concat %a, %0 : !smt.bv<4>, !smt.bv<16>
+    // or also 
+    %0 = smt.bv.repeat 4 times %a : !smt.bv<4>
+    smt.bv.concat %0, %a : !smt.bv<16>, !smt.bv<4>
+    ```
+    
+    The semantics are equivalent to the `repeat` operator defined in the SMT-LIB
+    2.6 standard. More precisely in the
+    [theory of FixedSizeBitVectors](https://smtlib.cs.uiowa.edu/Theories/FixedSizeBitVectors.smt2)
+    and the [QF_BV logic](https://smtlib.cs.uiowa.edu/Logics/QF_BV.smt2)
+    describing closed quantifier-free formulas over the theory of fixed-size
+    bit-vectors.
+  }];
+
+  let arguments = (ins BitVectorType:$input);
+  let results = (outs BitVectorType:$result)...
[truncated]

@makslevental makslevental changed the title [mlir][smt] add export smtlib [mlir][SMT] add export smtlib Mar 27, 2025
@makslevental makslevental marked this pull request as draft March 27, 2025 20:08
@makslevental makslevental marked this pull request as ready for review March 27, 2025 20:31
@makslevental makslevental force-pushed the makslevental/export-smtlib branch from 86a8cc6 to bcbfdfd Compare April 11, 2025 21:41
@makslevental
Copy link
Contributor Author

ping - this one is ready now that #131480 is merged.

Copy link
Contributor

@math-fehr math-fehr left a comment

Choose a reason for hiding this comment

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

That looks good to me, I just had a nit comment!

Comment on lines +508 to +527
LogicalResult visitSMTOp(BVConstantOp op, mlir::raw_indented_ostream &stream,
ValueMap &valueMap) {
valueMap.insert(op.getResult(), op.getValue().getValueAsString());
return success();
}

LogicalResult visitSMTOp(BoolConstantOp op,
mlir::raw_indented_ostream &stream,
ValueMap &valueMap) {
valueMap.insert(op.getResult(), op.getValue() ? "true" : "false");
return success();
}

LogicalResult visitSMTOp(IntConstantOp op, mlir::raw_indented_ostream &stream,
ValueMap &valueMap) {
SmallString<16> str;
op.getValue().toStringSigned(str);
valueMap.insert(op.getResult(), str.str().str());
return success();
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are these here and not in the ExpressionVisitor?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i mean i think expressionvisitor is basically for binary/unary ops? maybe not? i can move

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hmm didn't work for some reason (some logic somewhere in the visitor dispatch 🤷) - gonna leave for now (we can revisit later if it's an issue

Copy link
Member

Choose a reason for hiding this comment

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

it was the easiest way to always inline constants instead of assigning them to a temporary. We'd need to special case them in the dispatch method of the expression visitor if we wanted to move them there.

@makslevental makslevental merged commit acf964b into llvm:main Apr 12, 2025
11 checks passed
@makslevental makslevental deleted the makslevental/export-smtlib branch April 12, 2025 20:39
@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 12, 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/7465

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)
...
[5893/7774] Creating library symlink lib/liblldCommon.so
[5894/7774] Creating library symlink lib/libclangAPINotes.so
[5895/7774] Linking CXX shared library lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git
[5896/7774] Creating library symlink lib/libMLIRVCIXToLLVMIRTranslation.so
[5897/7774] Linking CXX shared library lib/libMLIROpenMPToLLVMIRTranslation.so.21.0git
[5898/7774] Linking CXX shared library lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git
[5899/7774] Creating library symlink lib/libMLIRLLVMToLLVMIRTranslation.so
[5900/7774] Linking CXX shared library lib/libMLIROpenACCToLLVMIRTranslation.so.21.0git
[5901/7774] Linking CXX shared library lib/libMLIRSPIRVToLLVMIRTranslation.so.21.0git
[5902/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0xa3): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x13): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x23): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[5903/7774] Linking CXX shared library lib/libclangLex.so.21.0git
[5904/7774] Creating library symlink lib/libMLIROpenMPToLLVMIRTranslation.so
[5905/7774] Creating library symlink lib/libMLIRNVVMToLLVMIRTranslation.so
[5906/7774] Creating library symlink lib/libMLIROpenACCToLLVMIRTranslation.so
[5907/7774] Creating library symlink lib/libMLIRSPIRVToLLVMIRTranslation.so
[5908/7774] Linking CXX shared library lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git
[5909/7774] Linking CXX shared library lib/libLLVMOrcJIT.so.21.0git
[5910/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPUOpenMP.cpp.o
[5911/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/VE.cpp.o
[5912/7774] Linking CXX shared library lib/libMLIRTargetLLVM.so.21.0git
[5913/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/X86.cpp.o
[5914/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AVR.cpp.o
[5915/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPU.cpp.o
[5916/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AIX.cpp.o
[5917/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/BareMetal.cpp.o
[5918/7774] Linking CXX shared library lib/libMLIRVectorTransformOps.so.21.0git
[5919/7774] Linking CXX shared library lib/libMLIRVectorToLLVMPass.so.21.0git
[5920/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Cuda.cpp.o
[5921/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CSKYToolChain.cpp.o
[5922/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CrossWindows.cpp.o
[5923/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Clang.cpp.o
[5924/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Darwin.cpp.o
[5925/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/DragonFly.cpp.o
[5926/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CommonArgs.cpp.o
[5927/7774] Building AMDGPUGenAsmMatcher.inc...
[5928/7774] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5929/7774] Linking CXX shared library lib/libMLIRTestDialect.so.21.0git
[5930/7774] Building AMDGPUGenDAGISel.inc...
[5931/7774] Building AMDGPUGenGlobalISel.inc...
[5932/7774] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5893/7774] Creating library symlink lib/liblldCommon.so
[5894/7774] Creating library symlink lib/libclangAPINotes.so
[5895/7774] Linking CXX shared library lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git
[5896/7774] Creating library symlink lib/libMLIRVCIXToLLVMIRTranslation.so
[5897/7774] Linking CXX shared library lib/libMLIROpenMPToLLVMIRTranslation.so.21.0git
[5898/7774] Linking CXX shared library lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git
[5899/7774] Creating library symlink lib/libMLIRLLVMToLLVMIRTranslation.so
[5900/7774] Linking CXX shared library lib/libMLIROpenACCToLLVMIRTranslation.so.21.0git
[5901/7774] Linking CXX shared library lib/libMLIRSPIRVToLLVMIRTranslation.so.21.0git
[5902/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0xa3): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x13): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x23): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[5903/7774] Linking CXX shared library lib/libclangLex.so.21.0git
[5904/7774] Creating library symlink lib/libMLIROpenMPToLLVMIRTranslation.so
[5905/7774] Creating library symlink lib/libMLIRNVVMToLLVMIRTranslation.so
[5906/7774] Creating library symlink lib/libMLIROpenACCToLLVMIRTranslation.so
[5907/7774] Creating library symlink lib/libMLIRSPIRVToLLVMIRTranslation.so
[5908/7774] Linking CXX shared library lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git
[5909/7774] Linking CXX shared library lib/libLLVMOrcJIT.so.21.0git
[5910/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPUOpenMP.cpp.o
[5911/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/VE.cpp.o
[5912/7774] Linking CXX shared library lib/libMLIRTargetLLVM.so.21.0git
[5913/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/X86.cpp.o
[5914/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AVR.cpp.o
[5915/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPU.cpp.o
[5916/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AIX.cpp.o
[5917/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/BareMetal.cpp.o
[5918/7774] Linking CXX shared library lib/libMLIRVectorTransformOps.so.21.0git
[5919/7774] Linking CXX shared library lib/libMLIRVectorToLLVMPass.so.21.0git
[5920/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Cuda.cpp.o
[5921/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CSKYToolChain.cpp.o
[5922/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CrossWindows.cpp.o
[5923/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Clang.cpp.o
[5924/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Darwin.cpp.o
[5925/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/DragonFly.cpp.o
[5926/7774] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CommonArgs.cpp.o
[5927/7774] Building AMDGPUGenAsmMatcher.inc...
[5928/7774] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5929/7774] Linking CXX shared library lib/libMLIRTestDialect.so.21.0git
[5930/7774] Building AMDGPUGenDAGISel.inc...
[5931/7774] Building AMDGPUGenGlobalISel.inc...
[5932/7774] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 12, 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/6256

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)
...
      |        ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:235:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
  235 |   virtual bool visitInputFile(StringRef Filename, bool isSystem,
      |                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Frontend/FrontendActions.cpp:780:10: note:   by ‘virtual bool {anonymous}::DumpModuleInfoListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’
  780 |     bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
      |          ^~~~~~~~~~~~~~
[6107/7774] Creating library symlink lib/libclangToolingCore.so
[6108/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/USRLocFinder.cpp.o
[6109/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0x76): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0xa): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x1f): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[6110/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Mutations.cpp.o
[6111/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Nodes.cpp.o
[6112/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/USRFinder.cpp.o
[6113/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/BuildTree.cpp.o
[6114/7774] Building CXX object tools/clang/lib/Tooling/ASTDiff/CMakeFiles/obj.clangToolingASTDiff.dir/ASTDiff.cpp.o
[6115/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/TokenBufferTokenManager.cpp.o
[6116/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Synthesis.cpp.o
[6117/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/AllTUsExecution.cpp.o
[6118/7774] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/PrecompiledPreamble.cpp.o
[6119/7774] Linking CXX shared library lib/libclangToolingInclusionsStdlib.so.21.0git
[6120/7774] Linking CXX shared library lib/libclangToolingInclusions.so.21.0git
[6121/7774] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/FrontendActions.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Frontend/Rewrite/FrontendActions.cpp:23:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:246:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
  246 |   virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
      |                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:307:8: note:   by ‘virtual bool clang::ChainedASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’
  307 |   bool visitInputFile(StringRef Filename, bool isSystem,
      |        ^~~~~~~~~~~~~~
[6122/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CommonOptionsParser.cpp.o
[6123/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/ExpandResponseFilesCompilationDatabase.cpp.o
[6124/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/GuessTargetAndModeCompilationDatabase.cpp.o
[6125/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/JSONCompilationDatabase.cpp.o
[6126/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/Refactoring.cpp.o
[6127/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/LocateToolCompilationDatabase.cpp.o
[6128/7774] Building CXX object tools/clang/lib/FrontendTool/CMakeFiles/obj.clangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[6129/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/StandaloneExecution.cpp.o
[6130/7774] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InterfaceStubFunctionsConsumer.cpp.o
[6131/7774] Linking CXX shared library lib/libclangSema.so.21.0git
[6132/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/AtomicChange.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
      |        ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:235:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
  235 |   virtual bool visitInputFile(StringRef Filename, bool isSystem,
      |                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Frontend/FrontendActions.cpp:780:10: note:   by ‘virtual bool {anonymous}::DumpModuleInfoListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’
  780 |     bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
      |          ^~~~~~~~~~~~~~
[6107/7774] Creating library symlink lib/libclangToolingCore.so
[6108/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/USRLocFinder.cpp.o
[6109/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0x76): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0xa): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x1f): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[6110/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Mutations.cpp.o
[6111/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Nodes.cpp.o
[6112/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/USRFinder.cpp.o
[6113/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/BuildTree.cpp.o
[6114/7774] Building CXX object tools/clang/lib/Tooling/ASTDiff/CMakeFiles/obj.clangToolingASTDiff.dir/ASTDiff.cpp.o
[6115/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/TokenBufferTokenManager.cpp.o
[6116/7774] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Synthesis.cpp.o
[6117/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/AllTUsExecution.cpp.o
[6118/7774] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/PrecompiledPreamble.cpp.o
[6119/7774] Linking CXX shared library lib/libclangToolingInclusionsStdlib.so.21.0git
[6120/7774] Linking CXX shared library lib/libclangToolingInclusions.so.21.0git
[6121/7774] Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/FrontendActions.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/lib/Frontend/Rewrite/FrontendActions.cpp:23:
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:246:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
  246 |   virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
      |                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:307:8: note:   by ‘virtual bool clang::ChainedASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’
  307 |   bool visitInputFile(StringRef Filename, bool isSystem,
      |        ^~~~~~~~~~~~~~
[6122/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CommonOptionsParser.cpp.o
[6123/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/ExpandResponseFilesCompilationDatabase.cpp.o
[6124/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/GuessTargetAndModeCompilationDatabase.cpp.o
[6125/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/JSONCompilationDatabase.cpp.o
[6126/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/Refactoring.cpp.o
[6127/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/LocateToolCompilationDatabase.cpp.o
[6128/7774] Building CXX object tools/clang/lib/FrontendTool/CMakeFiles/obj.clangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[6129/7774] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/StandaloneExecution.cpp.o
[6130/7774] Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InterfaceStubFunctionsConsumer.cpp.o
[6131/7774] Linking CXX shared library lib/libclangSema.so.21.0git
[6132/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/AtomicChange.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 12, 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/6278

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)
...
[6141/7774] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexBody.cpp.o
[6142/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerManager.cpp.o
[6143/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugSuppression.cpp.o
[6144/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SMTConstraintManager.cpp.o
[6145/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SymbolManager.cpp.o
[6146/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CallEvent.cpp.o
[6147/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SVals.cpp.o
[6148/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/RefactoringActions.cpp.o
[6149/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngine.cpp.o
[6150/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  -lpthread  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0x66): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0xa): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x1f): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[6151/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/WorkList.cpp.o
[6152/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CoreEngine.cpp.o
[6153/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCallAndReturn.cpp.o
[6154/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExplodedGraph.cpp.o
[6155/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineC.cpp.o
[6156/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugReporterVisitors.cpp.o
[6157/7774] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexingAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/lib/Index/IndexingAction.cpp:17:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:246:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
   virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:307:8: warning:   by ‘virtual bool clang::ChainedASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’ [-Woverloaded-virtual]
   bool visitInputFile(StringRef Filename, bool isSystem,
        ^~~~~~~~~~~~~~
[6158/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCXX.cpp.o
[6159/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/HTMLDiagnostics.cpp.o
[6160/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineObjC.cpp.o
[6161/7774] Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Visitor.cpp.o
[6162/7774] Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Frontend.cpp.o
[6163/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/PlistDiagnostics.cpp.o
[6164/7774] Linking CXX shared library lib/libclangSema.so.21.0git
[6165/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ProgramState.cpp.o
[6166/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/LoopUnrolling.cpp.o
[6167/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleConstraintManager.cpp.o
[6168/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleSValBuilder.cpp.o
[6169/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Store.cpp.o
[6170/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SValBuilder.cpp.o
[6171/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SarifDiagnostics.cpp.o
[6172/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Z3CrosscheckVisitor.cpp.o
[6173/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/AnalyzerStatsChecker.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[6141/7774] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexBody.cpp.o
[6142/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerManager.cpp.o
[6143/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugSuppression.cpp.o
[6144/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SMTConstraintManager.cpp.o
[6145/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SymbolManager.cpp.o
[6146/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CallEvent.cpp.o
[6147/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SVals.cpp.o
[6148/7774] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/RefactoringActions.cpp.o
[6149/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngine.cpp.o
[6150/7774] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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-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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  -lpthread  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#3}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E1_E9_M_invokeERKSt9_Any_dataS2_+0x66): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0xa): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: In function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x1f): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
[6151/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/WorkList.cpp.o
[6152/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CoreEngine.cpp.o
[6153/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCallAndReturn.cpp.o
[6154/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExplodedGraph.cpp.o
[6155/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineC.cpp.o
[6156/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugReporterVisitors.cpp.o
[6157/7774] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexingAction.cpp.o
In file included from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/lib/Index/IndexingAction.cpp:17:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:246:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
   virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
                ^~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/include/clang/Serialization/ASTReader.h:307:8: warning:   by ‘virtual bool clang::ChainedASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’ [-Woverloaded-virtual]
   bool visitInputFile(StringRef Filename, bool isSystem,
        ^~~~~~~~~~~~~~
[6158/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCXX.cpp.o
[6159/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/HTMLDiagnostics.cpp.o
[6160/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineObjC.cpp.o
[6161/7774] Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Visitor.cpp.o
[6162/7774] Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Frontend.cpp.o
[6163/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/PlistDiagnostics.cpp.o
[6164/7774] Linking CXX shared library lib/libclangSema.so.21.0git
[6165/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ProgramState.cpp.o
[6166/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/LoopUnrolling.cpp.o
[6167/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleConstraintManager.cpp.o
[6168/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleSValBuilder.cpp.o
[6169/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Store.cpp.o
[6170/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SValBuilder.cpp.o
[6171/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SarifDiagnostics.cpp.o
[6172/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Z3CrosscheckVisitor.cpp.o
[6173/7774] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/AnalyzerStatsChecker.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 12, 2025

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
85.823 [66/9/7309] Linking CXX shared library lib/libclangInterpreter.so.21.0git
85.835 [65/9/7310] Creating library symlink lib/libclangInterpreter.so
85.911 [64/9/7311] Linking CXX shared library lib/libHLFIRDialect.so.21.0git
85.921 [63/9/7312] Creating library symlink lib/libHLFIRDialect.so
85.936 [62/9/7313] Linking CXX executable bin/clang-21
85.955 [61/9/7314] Linking CXX executable bin/mlir-transform-opt
85.969 [61/8/7315] Creating executable symlink bin/clang
85.972 [61/7/7316] Linking CXX executable bin/mlir-reduce
86.095 [61/6/7317] Building CXX object tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o
86.281 [60/6/7318] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.0git 
: && /usr/local/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-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -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 -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<void (mlir::DialectRegistry&), mlir::smt::registerExportSMTLIBTranslation()::{lambda(mlir::DialectRegistry&)#1}>::_M_invoke(std::_Any_data const&, mlir::DialectRegistry&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E_E9_M_invokeERKSt9_Any_dataS2_+0x78): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFvRN4mlir15DialectRegistryEEZNS0_3smt31registerExportSMTLIBTranslationEvEUlS2_E_E9_M_invokeERKSt9_Any_dataS2_+0x7c): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x28): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x2c): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x28): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
collect2: error: ld returned 1 exit status
86.361 [60/5/7319] Linking CXX executable bin/clang-repl
87.133 [60/4/7320] Linking CXX shared library lib/libMLIRMlirOptMain.so.21.0git
87.444 [60/3/7321] Linking CXX executable bin/mlir-lsp-server
87.717 [60/2/7322] Linking CXX executable bin/mlir-opt
88.264 [60/1/7323] Linking CXX shared library lib/libFIRBuilder.so.21.0git
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Apr 12, 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/12485

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
110.691 [794/162/6622] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Character.cpp.o
110.694 [793/162/6623] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Complex.cpp.o
110.698 [792/162/6624] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/CUFCommon.cpp.o
110.701 [791/162/6625] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/DoLoopHelper.cpp.o
110.704 [790/162/6626] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
110.707 [789/162/6627] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/LowLevelIntrinsics.cpp.o
110.710 [788/162/6628] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/MutableBox.cpp.o
110.713 [787/162/6629] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Allocatable.cpp.o
110.719 [786/162/6630] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/ArrayConstructor.cpp.o
110.722 [785/162/6631] Linking CXX shared library lib/libMLIRExportSMTLIB.so.21.0git
FAILED: lib/libMLIRExportSMTLIB.so.21.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 -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,libMLIRExportSMTLIB.so.21.0git -o lib/libMLIRExportSMTLIB.so.21.0git tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libMLIRSMT.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `void mlir::DialectRegistry::insert<mlir::func::FuncDialect, mlir::arith::ArithDialect, mlir::smt::SMTDialect>()':
ExportSMTLIB.cpp:(.text._ZN4mlir15DialectRegistry6insertINS_4func11FuncDialectENS_5arith12ArithDialectEJNS_3smt10SMTDialectEEEEvv[_ZN4mlir15DialectRegistry6insertINS_4func11FuncDialectENS_5arith12ArithDialectEJNS_3smt10SMTDialectEEEEvv]+0x74): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: ExportSMTLIB.cpp:(.text._ZN4mlir15DialectRegistry6insertINS_4func11FuncDialectENS_5arith12ArithDialectEJNS_3smt10SMTDialectEEEEvv[_ZN4mlir15DialectRegistry6insertINS_4func11FuncDialectENS_5arith12ArithDialectEJNS_3smt10SMTDialectEEEEvv]+0x84): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::_Function_handler<mlir::Dialect* (mlir::MLIRContext*), mlir::DialectRegistry::insert<mlir::arith::ArithDialect>()::{lambda(mlir::MLIRContext*)#1}>::_M_invoke(std::_Any_data const&, mlir::MLIRContext*&&)':
ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x10): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: ExportSMTLIB.cpp:(.text._ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_[_ZNSt17_Function_handlerIFPN4mlir7DialectEPNS0_11MLIRContextEEZNS0_15DialectRegistry6insertINS0_5arith12ArithDialectEEEvvEUlS4_E_E9_M_invokeERKSt9_Any_dataOS4_]+0x30): undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ArithDialect, void>::id'
/usr/bin/ld: tools/mlir/lib/Target/SMTLIB/CMakeFiles/obj.MLIRExportSMTLIB.dir/ExportSMTLIB.cpp.o: in function `std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > llvm::function_ref<std::unique_ptr<mlir::Dialect, std::default_delete<mlir::Dialect> > ()>::callback_fn<mlir::MLIRContext::getOrLoadDialect<mlir::arith::ArithDialect>()::{lambda()#1}>(long)':
ExportSMTLIB.cpp:(.text._ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l[_ZN4llvm12function_refIFSt10unique_ptrIN4mlir7DialectESt14default_deleteIS3_EEvEE11callback_fnIZNS2_11MLIRContext16getOrLoadDialectINS2_5arith12ArithDialectEEEPT_vEUlvE_EES6_l]+0x28): undefined reference to `mlir::arith::ArithDialect::ArithDialect(mlir::MLIRContext*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
110.722 [785/161/6632] Linking CXX shared library lib/libFortranSupport.so.21.0git
110.724 [785/160/6633] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/CompilerInvocation.cpp.o
110.728 [785/159/6634] Building CXX object tools/flang/lib/Frontend/CMakeFiles/flangFrontend.dir/FrontendActions.cpp.o
110.728 [785/158/6635] Linking CXX shared library lib/libMLIRTestDynDialect.so.21.0git
110.730 [785/157/6636] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/HLFIRTools.cpp.o
110.731 [785/156/6637] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
110.733 [785/155/6638] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/PPCIntrinsicCall.cpp.o
110.733 [785/154/6639] Linking CXX shared library lib/libMLIRLoopLikeInterfaceTestPasses.so.21.0git
110.734 [785/153/6640] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Assign.cpp.o
110.735 [785/152/6641] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Character.cpp.o
110.736 [785/151/6642] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Command.cpp.o
110.737 [785/150/6643] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/CUDA/Descriptor.cpp.o
110.738 [785/149/6644] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Derived.cpp.o
110.738 [785/148/6645] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/EnvironmentDefaults.cpp.o
110.739 [785/147/6646] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Exceptions.cpp.o
110.740 [785/146/6647] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Execute.cpp.o
110.741 [785/145/6648] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Inquiry.cpp.o
110.742 [785/144/6649] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Intrinsics.cpp.o
110.743 [785/143/6650] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Main.cpp.o
110.744 [785/142/6651] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Numeric.cpp.o
110.745 [785/141/6652] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Pointer.cpp.o
110.746 [785/140/6653] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Ragged.cpp.o
110.747 [785/139/6654] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Reduction.cpp.o
110.748 [785/138/6655] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Stop.cpp.o
110.749 [785/137/6656] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Support.cpp.o
110.749 [785/136/6657] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/TemporaryStack.cpp.o
110.750 [785/135/6658] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Transformational.cpp.o
110.751 [785/134/6659] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/TemporaryStorage.cpp.o

jplehr added a commit to jplehr/llvm-project that referenced this pull request Apr 12, 2025
After llvm#131492 is appears that linking MLIRAritDialect was missing.
jplehr added a commit that referenced this pull request Apr 12, 2025
After #131492 is appears that linking MLIRAritDialect was missing.
var-const pushed a commit to ldionne/llvm-project that referenced this pull request Apr 17, 2025
This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.
var-const pushed a commit to ldionne/llvm-project that referenced this pull request Apr 17, 2025
After llvm#131492 is appears that linking MLIRAritDialect was missing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants