[llvm] test-release.sh: Only build the clang target in stage 1 and 2 (PR #72703)

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 17 13:22:05 PST 2023


https://github.com/tstellar created https://github.com/llvm/llvm-project/pull/72703

This skips the build of all the unittests and llvm/clang tools, reducing the number of ninja targets from 4,826 to 3,816 in phase 1 and phase 2.

>From fcae8ce77e2256920459fb4cf428a212d6560b68 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 8 Nov 2023 22:39:41 -0800
Subject: [PATCH] test-release.sh: Only build the clang target in stage 1 and 2

This skips the build of all the unittests and llvm/clang tools,
reducing the number of ninja targets from 4,826 to 3,816.
---
 llvm/utils/release/test-release.sh | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/llvm/utils/release/test-release.sh b/llvm/utils/release/test-release.sh
index ff8be5257e2c86e..63bf3974a987d20 100755
--- a/llvm/utils/release/test-release.sh
+++ b/llvm/utils/release/test-release.sh
@@ -465,6 +465,17 @@ function build_llvmCore() {
     fi
     LitVerbose="-v"
 
+    InstallTarget="install"
+    if [ "$Phase" -lt "3" ]; then
+      BuildTarget="clang"
+      InstallTarget="install-clang install-clang-resource-headers"
+      # compiler-rt builtins is needed on AIX to have a functional Phase 1 clang.
+      if [ "$System" = "AIX" -o "$Phase" != "1" ]; then
+        BuildTarget="$BuildTarget runtimes"
+        InstallTarget="$InstallTarget install-runtimes"
+      fi
+    fi
+
     redir="/dev/stdout"
     if [ $do_silent_log == "yes" ]; then
       echo "# Silencing build logs because of -silent-log flag..."
@@ -474,12 +485,12 @@ function build_llvmCore() {
     cd $ObjDir
     echo "# Compiling llvm $Release-$RC $Flavor"
     echo "# ${MAKE} -j $NumJobs $Verbose"
-    ${MAKE} -j $NumJobs $Verbose \
+    ${MAKE} -j $NumJobs $Verbose $BuildTarget \
         2>&1 | tee $LogDir/llvm.make-Phase$Phase-$Flavor.log > $redir
 
     echo "# Installing llvm $Release-$RC $Flavor"
     echo "# ${MAKE} install"
-    DESTDIR="${DestDir}" ${MAKE} install \
+    DESTDIR="${DestDir}" ${MAKE} $InstallTarget \
         2>&1 | tee $LogDir/llvm.install-Phase$Phase-$Flavor.log > $redir
     cd $BuildDir
 }



More information about the llvm-commits mailing list