From 2a7ec6d0619a831af392a07cba88f4dfe01845e1 Mon Sep 17 00:00:00 2001 From: Josh Herrera Date: Tue, 25 Oct 2022 13:08:00 -0700 Subject: [PATCH 1/3] Pull and build specific LLVM sha for hexagon docker CI --- docker/install/ubuntu_install_hexagon.sh | 29 +++++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/docker/install/ubuntu_install_hexagon.sh b/docker/install/ubuntu_install_hexagon.sh index 18b8a0f66587..1366ae959a40 100755 --- a/docker/install/ubuntu_install_hexagon.sh +++ b/docker/install/ubuntu_install_hexagon.sh @@ -21,9 +21,26 @@ set -o pipefail # Install LLVM/clang CLANG_LLVM_HOME=/opt/clang-llvm -CLANG_LLVM_VERSION=14.0.0 -CLANG_LLVM_FILENAME=clang_llvm.tar.xz -wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_LLVM_VERSION}/clang+llvm-${CLANG_LLVM_VERSION}-x86_64-linux-gnu-ubuntu-18.04.tar.xz -O ${CLANG_LLVM_FILENAME} -mkdir ${CLANG_LLVM_HOME} -tar -xvf ${CLANG_LLVM_FILENAME} -C ${CLANG_LLVM_HOME} --strip-components=1 -rm ${CLANG_LLVM_FILENAME} +HEXAGON_LLVM_SHA=361a27c155ec8b222e3318488a208c0eb39624c8 + +mkdir llvm-hexagon +pushd llvm-hexagon +git init +git remote add origin https://github.com/llvm/llvm-project.git +git fetch origin ${HEXAGON_LLVM_SHA} +git reset --hard FETCH_HEAD +mkdir build +pushd build +cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_ENABLE_ASSERTIONS=ON \ + -DLLVM_TARGETS_TO_BUILD:STRING="Hexagon;X86" \ + -DLLVM_ENABLE_PROJECTS:STRING="clang;llvm;lld" \ + ../llvm +ninja install + +popd +popd +rm -rf llvm-hexagon From 4e5748eb0d2a3a3139741155a0dc34f999924b68 Mon Sep 17 00:00:00 2001 From: Josh Herrera Date: Thu, 27 Oct 2022 16:21:27 -0700 Subject: [PATCH 2/3] Address comments and add default triple --- docker/install/ubuntu_install_hexagon.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docker/install/ubuntu_install_hexagon.sh b/docker/install/ubuntu_install_hexagon.sh index 1366ae959a40..d3d3e88ebc3e 100755 --- a/docker/install/ubuntu_install_hexagon.sh +++ b/docker/install/ubuntu_install_hexagon.sh @@ -21,23 +21,25 @@ set -o pipefail # Install LLVM/clang CLANG_LLVM_HOME=/opt/clang-llvm -HEXAGON_LLVM_SHA=361a27c155ec8b222e3318488a208c0eb39624c8 +LLVM_SHA=361a27c155ec8b222e3318488a208c0eb39624c8 mkdir llvm-hexagon pushd llvm-hexagon git init git remote add origin https://github.com/llvm/llvm-project.git -git fetch origin ${HEXAGON_LLVM_SHA} +git fetch origin ${LLVM_SHA} git reset --hard FETCH_HEAD mkdir build pushd build cmake \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_PREFIX=${CLANG_LLVM_HOME} \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_TARGETS_TO_BUILD:STRING="Hexagon;X86" \ -DLLVM_ENABLE_PROJECTS:STRING="clang;llvm;lld" \ + -DTARGET_TRIPLE=x86_64-unknown-linux-gnu \ + -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-linux-gnu \ ../llvm ninja install From 8ae105e54588868f302571da0c54c473244ba3d8 Mon Sep 17 00:00:00 2001 From: joshherr-quic <95375797+joshherr-quic@users.noreply.github.com> Date: Thu, 27 Oct 2022 19:10:56 -0500 Subject: [PATCH 3/3] Build shouldn't need lld for codegen --- docker/install/ubuntu_install_hexagon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/install/ubuntu_install_hexagon.sh b/docker/install/ubuntu_install_hexagon.sh index d3d3e88ebc3e..722cfaa40cb3 100755 --- a/docker/install/ubuntu_install_hexagon.sh +++ b/docker/install/ubuntu_install_hexagon.sh @@ -37,7 +37,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX=${CLANG_LLVM_HOME} \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_TARGETS_TO_BUILD:STRING="Hexagon;X86" \ - -DLLVM_ENABLE_PROJECTS:STRING="clang;llvm;lld" \ + -DLLVM_ENABLE_PROJECTS:STRING="clang;llvm" \ -DTARGET_TRIPLE=x86_64-unknown-linux-gnu \ -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-linux-gnu \ ../llvm