From e668803fdfa3bd38ea65232a1cdd07b0c5cf4a13 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 16:12:49 -0500 Subject: [PATCH 01/16] update offload build steps --- src/bootstrap/src/core/build_steps/llvm.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index d43d261ad6c3f..96e23c2563511 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -460,7 +460,13 @@ impl Step for Llvm { //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. enabled_llvm_runtimes.push("openmp"); - enabled_llvm_projects.push("compiler-rt"); + enabled_llvm_runtimes.push("compiler-rt"); + + let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; + cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + + cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); + cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } if !enabled_llvm_projects.is_empty() { From 861cb3b96a53ecdc1b6ff2dec73b0b0e585bac81 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 16:23:57 -0500 Subject: [PATCH 02/16] I surely picked the wrong runner again, right? --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index cb57478761994..ba62750643d4c 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -90,6 +90,7 @@ ENV RUST_CONFIGURE_ARGS \ --set target.x86_64-unknown-linux-gnu.ranlib=/rustroot/bin/llvm-ranlib \ --set llvm.thin-lto=true \ --set llvm.ninja=false \ + --set llvm.offload=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 2645d287cdd760f5c47dc9dcac78451dfbf69ae2 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 18:04:49 -0500 Subject: [PATCH 03/16] try fix --- src/bootstrap/src/core/build_steps/llvm.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 96e23c2563511..11798bc156f03 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -462,11 +462,15 @@ impl Step for Llvm { enabled_llvm_runtimes.push("openmp"); enabled_llvm_runtimes.push("compiler-rt"); - let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; - cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + // -DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx; + cfg.define("RUNTIMES_CMAKE_ARGS", "-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx"); + //cfg.define("LLVM_TARGETS_TO_BUILD", "host;AMDGPU;NVPTX"); - cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); - cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); + //let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; + //cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + + //cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); + //cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } if !enabled_llvm_projects.is_empty() { From 7d691c96262befc9da94d2f53c4ff80f3e486d23 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 7 Nov 2025 21:53:46 -0500 Subject: [PATCH 04/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index ba62750643d4c..6e93d29f03605 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -91,6 +91,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.thin-lto=true \ --set llvm.ninja=false \ --set llvm.offload=true \ + --set llvm.clang=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 10228e14bda40cd50345f5fe7e91a1388163a656 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Fri, 14 Nov 2025 18:45:51 -0500 Subject: [PATCH 05/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index 6e93d29f03605..2a80940ad1056 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -92,6 +92,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.ninja=false \ --set llvm.offload=true \ --set llvm.clang=true \ + --set llvm.lld=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 5d81225be107564bba6a80189ff5fe36008a1658 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sat, 15 Nov 2025 17:50:27 -0500 Subject: [PATCH 06/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index 2a80940ad1056..8800c2fbe7053 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -92,7 +92,7 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.ninja=false \ --set llvm.offload=true \ --set llvm.clang=true \ - --set llvm.lld=true \ + --set rust.lld=true \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 2c703505c54b5c7f3bc2c29a7750fc0bf76fc81f Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sat, 15 Nov 2025 21:03:12 -0500 Subject: [PATCH 07/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index 8800c2fbe7053..355c387550445 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -93,6 +93,8 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.offload=true \ --set llvm.clang=true \ --set rust.lld=true \ + --set llvm.cxxflags = "-fuse-ld=lld" \ + --set llvm.cflags = "-fuse-ld=lld" \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From cd46d857928d0b556f8b011fe55452daddb9d02e Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sun, 16 Nov 2025 03:20:09 -0500 Subject: [PATCH 08/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index 355c387550445..d02b0eaf260bd 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -93,8 +93,8 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.offload=true \ --set llvm.clang=true \ --set rust.lld=true \ - --set llvm.cxxflags = "-fuse-ld=lld" \ - --set llvm.cflags = "-fuse-ld=lld" \ + --set llvm.cxxflags="-fuse-ld=lld" \ + --set llvm.cflags="-fuse-ld=lld" \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From ac9829f81c099732efb52408721421242e53b9c9 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sun, 16 Nov 2025 09:33:38 -0500 Subject: [PATCH 09/16] try fix --- src/bootstrap/src/core/build_steps/llvm.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 11798bc156f03..0094291f8bb42 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -456,6 +456,7 @@ impl Step for Llvm { // This is an experimental flag, which likely builds more than necessary. // We will optimize it when we get closer to releasing it on nightly. if builder.config.llvm_offload { + enabled_llvm_projects.push("lld"); enabled_llvm_runtimes.push("offload"); //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. From aafb77227aabde28f9e2c7df30bfb047e11057bb Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sun, 16 Nov 2025 19:23:38 -0500 Subject: [PATCH 10/16] try fix --- src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile index d02b0eaf260bd..ba62750643d4c 100644 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile @@ -91,10 +91,6 @@ ENV RUST_CONFIGURE_ARGS \ --set llvm.thin-lto=true \ --set llvm.ninja=false \ --set llvm.offload=true \ - --set llvm.clang=true \ - --set rust.lld=true \ - --set llvm.cxxflags="-fuse-ld=lld" \ - --set llvm.cflags="-fuse-ld=lld" \ --set llvm.libzstd=true \ --set rust.jemalloc \ --set rust.bootstrap-override-lld=true \ From 0b03f321d594d56a7b97dbfbfeefbe40529b0990 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 14:28:05 -0500 Subject: [PATCH 11/16] disable compiler-rt --- src/bootstrap/src/core/build_steps/llvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 0094291f8bb42..b6bac8507c55d 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -461,7 +461,7 @@ impl Step for Llvm { //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. enabled_llvm_runtimes.push("openmp"); - enabled_llvm_runtimes.push("compiler-rt"); + //enabled_llvm_runtimes.push("compiler-rt"); // -DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx; cfg.define("RUNTIMES_CMAKE_ARGS", "-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx"); From c099b42ce93e98b66738abd77b17d47be8bbff9f Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 14:31:14 -0500 Subject: [PATCH 12/16] disable lld project --- src/bootstrap/src/core/build_steps/llvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index b6bac8507c55d..463f98fa85915 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -456,7 +456,7 @@ impl Step for Llvm { // This is an experimental flag, which likely builds more than necessary. // We will optimize it when we get closer to releasing it on nightly. if builder.config.llvm_offload { - enabled_llvm_projects.push("lld"); + //enabled_llvm_projects.push("lld"); enabled_llvm_runtimes.push("offload"); //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. From d588e5d43fbe1f71c4bf3331e118331e8de8c3d6 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 14:51:37 -0500 Subject: [PATCH 13/16] disable test building --- src/bootstrap/src/core/build_steps/llvm.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 463f98fa85915..b4f1fe45e61ce 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -470,6 +470,7 @@ impl Step for Llvm { //let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; //cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); + cfg.define("-DLLVM_BUILD_TESTS", "OFF"); //cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); //cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } From 9e752c8aa3abeb66bbf94cce9a5ff9e9d8c28a91 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 15:37:10 -0500 Subject: [PATCH 14/16] try again to disable tests --- src/bootstrap/src/core/build_steps/llvm.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index b4f1fe45e61ce..35dd746afc746 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -470,7 +470,8 @@ impl Step for Llvm { //let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"]; //cfg.define("LLVM_RUNTIME_TARGETS", runtime_targets.join(";")); - cfg.define("-DLLVM_BUILD_TESTS", "OFF"); + cfg.define("LLVM_INCLUDE_TESTS", "OFF"); + cfg.define("LLVM_BUILD_TESTS", "OFF"); //cfg.define("RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES", "openmp"); //cfg.define("RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES", "openmp"); } From 78100ea7dc01bfcfd330120727a57bc931421c1f Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 16:32:15 -0500 Subject: [PATCH 15/16] temporarily test if we can at least build offload without openmp --- src/bootstrap/src/core/build_steps/llvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 35dd746afc746..640d240206ae1 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -460,7 +460,7 @@ impl Step for Llvm { enabled_llvm_runtimes.push("offload"); //FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmp. //Remove this line once they achieved it. - enabled_llvm_runtimes.push("openmp"); + //enabled_llvm_runtimes.push("openmp"); //enabled_llvm_runtimes.push("compiler-rt"); // -DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx; From 27afca6aebe10c492ddd6981e3a8f8882d6ef7f1 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Mon, 24 Nov 2025 16:52:23 -0500 Subject: [PATCH 16/16] disable RUNTIMES_CMAKE_ARGS --- src/bootstrap/src/core/build_steps/llvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/llvm.rs b/src/bootstrap/src/core/build_steps/llvm.rs index 640d240206ae1..44a25fcaebd9a 100644 --- a/src/bootstrap/src/core/build_steps/llvm.rs +++ b/src/bootstrap/src/core/build_steps/llvm.rs @@ -464,7 +464,7 @@ impl Step for Llvm { //enabled_llvm_runtimes.push("compiler-rt"); // -DRUNTIMES_CMAKE_ARGS="-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx; - cfg.define("RUNTIMES_CMAKE_ARGS", "-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx"); + //cfg.define("RUNTIMES_CMAKE_ARGS", "-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;nvptx"); //cfg.define("LLVM_TARGETS_TO_BUILD", "host;AMDGPU;NVPTX"); //let runtime_targets = vec!["default", "amdgcn-amd-amdhsa", "nvptx64-nvidia-cuda"];