Skip to content

LLVM 19.0.0 for ROCM/6.4.0 build #275

Open
@xyuan

Description

@xyuan

Problem Description

It looks that the LLVM 19.0.0 for ROCM/6.4.0 have some build issues, see below,

[ 16%] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o
cd /p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/build/lib/Target/AArch64 && /opt/cray/pe/craype/2.7.34/bin/CC -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/build/lib/Target/AArch64 -I/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/lib/Target/AArch64 -I/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/build/include -I/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/include -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 -flto -g -fvisibility=hidden -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o -MF CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o.d -o CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o -c /p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
No supported cpu target is set, CRAY_CPU_TARGET=x86-64 will be used.
Load a valid targeting module or set CRAY_CPU_TARGET
/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:6628: error: no declaration matches ‘bool {anonymous}::AArch64InstructionSelector::selectPtrAuthGlobalValue(llvm::MachineInstr&, llvm::MachineRegisterInfo&) const’
6628 | bool AArch64InstructionSelector::selectPtrAuthGlobalValue(
|
/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:6628: note: no functions named ‘bool {anonymous}::AArch64InstructionSelector::selectPtrAuthGlobalValue(llvm::MachineInstr&, llvm::MachineRegisterInfo&) const’
/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:70: note: ‘class {anonymous}::AArch64InstructionSelector’ defined here
70 | class AArch64InstructionSelector : public InstructionSelector {
|
make[2]: *** [lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/build.make:107: lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o] Error 1
make[2]: Leaving directory '/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/build'
make[1]: *** [CMakeFiles/Makefile2:36592: lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/all] Error 2
make[1]: Leaving directory '/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/build'
make: *** [Makefile:159: all] Error 2

Operating System

RHEL

CPU

AMD MI300A

GPU

MI300A

ROCm Version

6.4.0

ROCm Component

No response

Steps to Reproduce

#!/bin/bash
cmake ../llvm
-DCMAKE_INSTALL_PREFIX=/p/lustre5/yuan16/bin/rocm.6.4.0/llvm
-DLLVM_ENABLE_ASSERTIONS=ON
-DLLVM_TARGET_TO_BUILD="AMDGPU;X86"
-DLLVM_ENABLE_PROJECTS="llvm;mlir;clang;lld;compiler-rt"
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_CXX_STANDARD=17
-DLLVM_ENABLE_LTO=ON
-DLLVM_EXTERNAL_PROJECTS="device-libs"
-DLLVM_EXTERNAL_DEVICE_LIBS_SOURCE_DIR="/p/lustre5/yuan16/work/rocm.6.4.0/llvm-project/amd/device-libs"

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions