Skip to content

[Bug] Build fails with LLVM20 #17823

@ggardet

Description

@ggardet

Expected behavior

Building TVM 0.19.0 with LLVM20.1.2, on openSUSE Tumbleweed should succeed.

Actual behavior

Building TVM 0.19.0 with LLVM20.1.2, on openSUSE Tumbleweed fails with:

[ 3493s] [100%] Building CXX object CMakeFiles/cpptest.dir/tests/cpp/tir_scalable_datatype.cc.o
[ 3493s] /usr/bin/c++ -DDMLC_USE_FOPEN64=0 -DDMLC_USE_LOGGING_LIBRARY="<tvm/runtime/logging.h>" -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DNDEBUG -DNDEBUG=1 -DTVM_ENABLE_SPIRV=1 -DTVM_INDEX_DEFAULT_I64=1 -DTVM_LLVM_HAS_AARCH64_TARGET=1 -DTVM_LLVM_VERSION=201 -DTVM_THREADPOOL_USE_OPENMP=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include -isystem /usr/include/dlpack -isystem /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/build_cmake/../3rdparty/dmlc-core/include -isystem /usr/include/rang -isystem /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/3rdparty/compiler-rt -isystem /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/3rdparty/picojson -isystem /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/3rdparty/OpenCL-Headers -isystem /usr/include/spirv-tools -isystem /usr/include/spirv/unified1 -isystem /usr/include/openblas -std=c++17 -faligned-new -O2 -Wall -fPIC -mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type  -g -O2 -g -DNDEBUG -MD -MT CMakeFiles/cpptest.dir/tests/cpp/tir_scalable_datatype.cc.o -MF CMakeFiles/cpptest.dir/tests/cpp/tir_scalable_datatype.cc.o.d -o CMakeFiles/cpptest.dir/tests/cpp/tir_scalable_datatype.cc.o -c /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/tests/cpp/tir_scalable_datatype.cc
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/tests/cpp/tir_scalable_datatype.cc: In member function ‘virtual void ScalableDataType_TestScalableIntrinCall_Test::TestBody()’:
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/tests/cpp/tir_scalable_datatype.cc:192:63: error: ‘experimental_stepvector’ is not a member of ‘llvm::Intrinsic’; did you mean ‘experimental_cttz_elts’?
[ 3493s]   192 |       {tvm::IntImm(tvm::DataType::Int(32), ::llvm::Intrinsic::experimental_stepvector)});
[ 3493s]       |                                                               ^~~~~~~~~~~~~~~~~~~~~~~
[ 3493s]       |                                                               experimental_cttz_elts
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/tests/cpp/tir_scalable_datatype.cc:192:88: error: no matching function for call to ‘tvm::tir::Call::Call(tvm::DataType&, const tvm::Op&, <brace-enclosed initializer list>)’
[ 3493s]   192 |       {tvm::IntImm(tvm::DataType::Int(32), ::llvm::Intrinsic::experimental_stepvector)});
[ 3493s]       |                                                                                        ^
[ 3493s] In file included from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/node/functor.h:27,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/node/structural_equal.h:26,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/node/reflection.h:26,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/node/node.h:37,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/ir/source_map.h:26,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/ir/expr.h:27,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/ir/attrs.h:48,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/ir/op.h:29,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/builtin.h:36,
[ 3493s]                  from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/tests/cpp/tir_scalable_datatype.cc:23:
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note: candidate: ‘tvm::tir::Call::Call(tvm::tir::Call&&)’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:734:3: note: in definition of macro ‘TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN’
[ 3493s]   734 |   TypeName(TypeName&& other) = default;                   \
[ 3493s]       |   ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:760:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   760 |   TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR(TypeName, ParentType, ObjectName)
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note:   candidate expects 1 argument, 3 provided
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:734:3: note: in definition of macro ‘TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN’
[ 3493s]   734 |   TypeName(TypeName&& other) = default;                   \
[ 3493s]       |   ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:760:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   760 |   TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR(TypeName, ParentType, ObjectName)
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note: candidate: ‘tvm::tir::Call::Call(const tvm::tir::Call&)’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:733:3: note: in definition of macro ‘TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN’
[ 3493s]   733 |   TypeName(const TypeName& other) = default;              \
[ 3493s]       |   ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:760:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   760 |   TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR(TypeName, ParentType, ObjectName)
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note:   candidate expects 1 argument, 3 provided
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:733:3: note: in definition of macro ‘TVM_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN’
[ 3493s]   733 |   TypeName(const TypeName& other) = default;              \
[ 3493s]       |   ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:760:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   760 |   TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR(TypeName, ParentType, ObjectName)
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note: candidate: ‘tvm::tir::Call::Call(tvm::runtime::ObjectPtr<tvm::runtime::Object>)’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:746:12: note: in definition of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   746 |   explicit TypeName(::tvm::runtime::ObjectPtr<::tvm::runtime::Object> n) : ParentType(n) {}    \
[ 3493s]       |            ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note:   candidate expects 1 argument, 3 provided
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:746:12: note: in definition of macro ‘TVM_DEFINE_OBJECT_REF_METHODS_WITHOUT_DEFAULT_CONSTRUCTOR’
[ 3493s]   746 |   explicit TypeName(::tvm::runtime::ObjectPtr<::tvm::runtime::Object> n) : ParentType(n) {}    \
[ 3493s]       |            ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:3: note: in expansion of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note: candidate: ‘tvm::tir::Call::Call()’
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:759:3: note: in definition of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   759 |   TypeName() = default;                                                 \
[ 3493s]       |   ^~~~~~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:921:33: note:   candidate expects 0 arguments, 3 provided
[ 3493s]   921 |   TVM_DEFINE_OBJECT_REF_METHODS(Call, PrimExpr, CallNode);
[ 3493s]       |                                 ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/runtime/object.h:759:3: note: in definition of macro ‘TVM_DEFINE_OBJECT_REF_METHODS’
[ 3493s]   759 |   TypeName() = default;                                                 \
[ 3493s]       |   ^~~~~~~~
[ 3493s] In file included from /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/builtin.h:37:
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:920:11: note: candidate: ‘tvm::tir::Call::Call(tvm::DataType, tvm::RelayExpr, tvm::runtime::Array<tvm::PrimExpr>, tvm::Span)’
[ 3493s]   920 |   TVM_DLL Call(DataType dtype, RelayExpr op, Array<PrimExpr> args, Span span = Span());
[ 3493s]       |           ^~~~
[ 3493s] /home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/include/tvm/tir/expr.h:920:62: note:   no known conversion for argument 3 from ‘<brace-enclosed initializer list>’ to ‘tvm::runtime::Array<tvm::PrimExpr>’
[ 3493s]   920 |   TVM_DLL Call(DataType dtype, RelayExpr op, Array<PrimExpr> args, Span span = Span());
[ 3493s]       |                                              ~~~~~~~~~~~~~~~~^~~~
[ 3493s] make[3]: *** [CMakeFiles/cpptest.dir/build.make:880: CMakeFiles/cpptest.dir/tests/cpp/tir_scalable_datatype.cc.o] Error 1
[ 3493s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/tvm-0.19.0-build/tvm-0.19.0/build_cmake'
[ 3493s] make[3]: *** Waiting for unfinished jobs....

Environment

Operating System: openSUSE Tumbleweed
TVM version: 0.19.0
Architecture: fails on both aarch64 and x86_64

Steps to reproduce

Build with LLVM20.1.2

Triage

Please refer to the list of label tags here to find the relevant tags and add them below in a bullet format (example below).

  • needs-triage

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions