Skip to content

[Bug] Build fails with LLVM20 #17823

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions