From 403e6f2cffd0ac95ce8ac3a417a3d1696dab1f31 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 10 Oct 2025 15:50:31 +0100 Subject: [PATCH 01/14] Draft PGO+LTO+BOLT build + test CI --- pipelines/main/launch_unsigned_jobs.yml | 11 ++++ .../main/platforms/build_linux.pgo_lto.arches | 8 +++ pipelines/main/platforms/build_linux.yml | 1 + .../main/platforms/test_linux.pgo_lto.arches | 10 ++++ utilities/build_julia.sh | 51 +++++++++++++++++-- utilities/extract_triplet.sh | 3 ++ 6 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 pipelines/main/platforms/build_linux.pgo_lto.arches create mode 100644 pipelines/main/platforms/test_linux.pgo_lto.arches diff --git a/pipelines/main/launch_unsigned_jobs.yml b/pipelines/main/launch_unsigned_jobs.yml index 80b8a8fcc..047fbee28 100644 --- a/pipelines/main/launch_unsigned_jobs.yml +++ b/pipelines/main/launch_unsigned_jobs.yml @@ -41,6 +41,12 @@ steps: bash .buildkite/utilities/arches_pipeline_upload.sh \ .buildkite/pipelines/main/platforms/build_linux.arches \ .buildkite/pipelines/main/platforms/build_linux.yml + # Launch Linux PGO+LTO+BOLT build jobs + GROUP="Build" \ + ALLOW_FAIL="false" \ + bash .buildkite/utilities/arches_pipeline_upload.sh \ + .buildkite/pipelines/main/platforms/build_linux.pgo_lto.arches \ + .buildkite/pipelines/main/platforms/build_linux.yml # PowerPC (only for Julia prior to 1.12): GROUP="Build" \ ALLOW_FAIL="false" \ @@ -120,6 +126,11 @@ steps: bash .buildkite/utilities/arches_pipeline_upload.sh \ .buildkite/pipelines/main/platforms/test_linux.i686.arches \ .buildkite/pipelines/main/platforms/test_linux.i686.yml + # Launch Linux PGO+LTO+BOLT test jobs + GROUP="Test" \ + bash .buildkite/utilities/arches_pipeline_upload.sh \ + .buildkite/pipelines/main/platforms/test_linux.pgo_lto.arches \ + .buildkite/pipelines/main/platforms/test_linux.yml ### Launch macOS test jobs: GROUP="Test" \ bash .buildkite/utilities/arches_pipeline_upload.sh \ diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches new file mode 100644 index 000000000..be461024d --- /dev/null +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -0,0 +1,8 @@ +# ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 + +# These special lines allow us to embed default values for the columns above. +# Any column without a default mapping here will simply substitute a `.` to the empty string + +# Builds should generally finish in much less time than this, but from-source builds can take longer +#default TIMEOUT 80 diff --git a/pipelines/main/platforms/build_linux.yml b/pipelines/main/platforms/build_linux.yml index 981d37327..2c024dd9d 100644 --- a/pipelines/main/platforms/build_linux.yml +++ b/pipelines/main/platforms/build_linux.yml @@ -34,3 +34,4 @@ steps: TRIPLET: "${TRIPLET?}" MAKE_FLAGS: "${MAKE_FLAGS?}" ROOTFS_IMAGE_NAME: "${ROOTFS_IMAGE_NAME?}" + USE_JULIA_PGO_LTO_BOLT: "${USE_JULIA_PGO_LTO_BOLT}" diff --git a/pipelines/main/platforms/test_linux.pgo_lto.arches b/pipelines/main/platforms/test_linux.pgo_lto.arches new file mode 100644 index 000000000..3e332c729 --- /dev/null +++ b/pipelines/main/platforms/test_linux.pgo_lto.arches @@ -0,0 +1,10 @@ +# ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS TIMEOUT USE_RR USE_JULIA_PGO_LTO_BOLT ROOTFS_TAG ROOTFS_HASH +tester_linux x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 . . PGO_LTO_BOLT v6.00 770c0240be788cfeb9654e1980ea929d3ed98d1f + +# These special lines allow us to embed default values for the columns above. +# Any column without a default mapping here will simply substitute a `.` to the empty string + +# Most tests should finish within ~45 minutes, barring exceptionally slow hardware +# We double that to a default of 90 minutes, with an extra 45 minutes for cleanup, +# including things like `rr` trace compression, +#default TIMEOUT 135 diff --git a/utilities/build_julia.sh b/utilities/build_julia.sh index dee1bc438..09a775ffa 100755 --- a/utilities/build_julia.sh +++ b/utilities/build_julia.sh @@ -26,7 +26,6 @@ if [[ "${ROOTFS_IMAGE_NAME-}" == "llvm_passes" ]]; then contrib/download_cmake.sh fi -echo "--- Collect make options" # These are the flags we'll provide to `make` MFLAGS=() @@ -55,19 +54,57 @@ else fi MFLAGS+=( "JULIA_CPU_TARGET=${JULIA_CPU_TARGET}" ) +if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then + MFLAGS+=( "STAGE2_BUILD=$PWD" ) + + echo "--- Collect make options" + echo "Make Options:" + for FLAG in "${MFLAGS[@]}"; do + echo " -> ${FLAG}" + done + + echo "--- Build Julia Stage 1 - with instrumentation" + + cd contrib/pgo-lto-bolt + ${MAKE} "${MFLAGS[@]}" stage1 + # Building stage1 collects profiling data which we use instead of collecting our own +fi + # Finish off with any extra make flags from the `.arches` file IFS=',' read -ra ARCHES_FLAGS <<<"${MAKE_FLAGS}" MFLAGS+=( "${ARCHES_FLAGS[@]}" ) +echo "--- Collect make options" echo "Make Options:" for FLAG in "${MFLAGS[@]}"; do echo " -> ${FLAG}" done -echo "--- Build Julia" -echo "Note: The log stream is filtered. [buildroot] replaces pwd $(pwd)" -${MAKE} "${MFLAGS[@]}" 2>&1 | sed "s|$(pwd)|[buildroot]|g" +if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then + echo "--- Build Julia Stage 2 - PGO + LTO optimised" + ${MAKE} "${MFLAGS[@]}" stage2 + + echo "--- Copying original shared libraries" + ${MAKE} "${MFLAGS[@]}" copy_originals + echo "--- Instrumenting with BOLT" + ${MAKE} "${MFLAGS[@]}" bolt_instrument + + echo "--- Finishing and Profiling Julia Stage 2" + ${MAKE} "${MFLAGS[@]}" finish_stage2 + + echo "--- Merging BOLT Profiles" + ${MAKE} "${MFLAGS[@]}" merge_data + + echo "--- Optimize Julia Stage 2 with BOLT" + ${MAKE} "${MFLAGS[@]}" bolt + + cd ../.. +else + echo "--- Build Julia" + echo "Note: The log stream is filtered. [buildroot] replaces pwd $(pwd)" + ${MAKE} "${MFLAGS[@]}" 2>&1 | sed "s|$(pwd)|[buildroot]|g" +fi echo "--- Check that the working directory is clean" if [ -n "$(git status --short)" ]; then @@ -101,3 +138,9 @@ fi echo "--- Upload build artifacts to buildkite" buildkite-agent artifact upload "${UPLOAD_FILENAME}.tar.gz" + +# Upload the profile data to allow for reproducible builds +if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then + buildkite-agent artifact upload "contrib/pgo-lto-bolt/profiles/merged.prof" + buildkite-agent artifact upload "contrib/pgo-lto-bolt/profiles-bolt/*.merged.fdata" +fi diff --git a/utilities/extract_triplet.sh b/utilities/extract_triplet.sh index 7c849ca2a..a92aa9cd5 100755 --- a/utilities/extract_triplet.sh +++ b/utilities/extract_triplet.sh @@ -30,6 +30,9 @@ case "${TRIPLET}" in *-gnunogpl) # builds that use `USE_GPL_LIBS=0` OS="linuxnogpl" ;; + *-gnu-pgo-lto-bolt) # PGO + LTO + BOLT builds + OS="linuxpgoltobolt" + ;; *-musl) OS="musl" ;; From e076af4c8f20d04a4ed3ba4b881ff0ec5d602577 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 10 Oct 2025 15:56:03 +0100 Subject: [PATCH 02/14] Bump build rootfs image I bumped this in https://github.com/JuliaCI/julia-buildkite/pull/345, probably for good reason --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index be461024d..9820d4213 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -1,5 +1,5 @@ # ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH -llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v7.6 ebdfa2d40c0e27842cccbfdd43710144f9adf9d8 # These special lines allow us to embed default values for the columns above. # Any column without a default mapping here will simply substitute a `.` to the empty string From e4cd27e3d0d2d19b6dbd6bd8185833c20f10e8e3 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 10 Oct 2025 18:04:38 +0100 Subject: [PATCH 03/14] Bump build timeout --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index 9820d4213..580076431 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -5,4 +5,4 @@ llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PG # Any column without a default mapping here will simply substitute a `.` to the empty string # Builds should generally finish in much less time than this, but from-source builds can take longer -#default TIMEOUT 80 +#default TIMEOUT 180 From e2312d48bb36d963d8fd9046d1e913aa541bbf0a Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 10 Oct 2025 21:51:53 +0100 Subject: [PATCH 04/14] Revert "Bump build rootfs image" This reverts commit e076af4c8f20d04a4ed3ba4b881ff0ec5d602577. --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index 580076431..df4433012 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -1,5 +1,5 @@ # ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH -llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v7.6 ebdfa2d40c0e27842cccbfdd43710144f9adf9d8 +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 # These special lines allow us to embed default values for the columns above. # Any column without a default mapping here will simply substitute a `.` to the empty string From 05e47a944010485bb5e854056490b08c6b26c2e6 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 10 Oct 2025 21:57:55 +0100 Subject: [PATCH 05/14] Hail Mary: Try bumping to latest rootfs image --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index df4433012..09f9e978e 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -1,5 +1,5 @@ # ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH -llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v8.0 36cfaf62f822ae5e9ef0e5bdfc028f44c5828868 # These special lines allow us to embed default values for the columns above. # Any column without a default mapping here will simply substitute a `.` to the empty string From bc0a2920d6edbbeb77f9bc65a1c493275fb437a9 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Sun, 26 Oct 2025 21:03:37 +0000 Subject: [PATCH 06/14] Test fix --- .buildkite/hooks/post-checkout | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/hooks/post-checkout b/.buildkite/hooks/post-checkout index 8cdb3d7ad..46f9e00e3 100755 --- a/.buildkite/hooks/post-checkout +++ b/.buildkite/hooks/post-checkout @@ -4,8 +4,8 @@ set -euo pipefail # Buildkite users can trigger new builds with these values overridden to # test specific julia gitshas -UPSTREAM_URL="${UPSTREAM_URL:-https://github.com/JuliaLang/julia.git}" -UPSTREAM_BRANCH="${UPSTREAM_BRANCH:-master}" +UPSTREAM_URL="${UPSTREAM_URL:-https://github.com/Zentrik/julia.git}" +UPSTREAM_BRANCH="${UPSTREAM_BRANCH:-fix_pgo_lto_bolt}" # All of our workers are required to provide a default for the julia cache dir # We're going to cache repositories in here, just like buildkite itself would: From 6a76a70be3baf603f909783d8576093267a93b13 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Sun, 26 Oct 2025 21:06:12 +0000 Subject: [PATCH 07/14] Fix typo --- .buildkite/hooks/post-checkout | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/hooks/post-checkout b/.buildkite/hooks/post-checkout index 46f9e00e3..2fbd1ad02 100755 --- a/.buildkite/hooks/post-checkout +++ b/.buildkite/hooks/post-checkout @@ -5,7 +5,7 @@ set -euo pipefail # Buildkite users can trigger new builds with these values overridden to # test specific julia gitshas UPSTREAM_URL="${UPSTREAM_URL:-https://github.com/Zentrik/julia.git}" -UPSTREAM_BRANCH="${UPSTREAM_BRANCH:-fix_pgo_lto_bolt}" +UPSTREAM_BRANCH="${UPSTREAM_BRANCH:-try_fix_pgo_lto_bolt}" # All of our workers are required to provide a default for the julia cache dir # We're going to cache repositories in here, just like buildkite itself would: From a602a4c8a9aadd49518e562363751e4f266493dc Mon Sep 17 00:00:00 2001 From: Zentrik Date: Mon, 27 Oct 2025 00:20:54 +0000 Subject: [PATCH 08/14] Rerun test --- pipelines/main/platforms/build_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.yml b/pipelines/main/platforms/build_linux.yml index 2c024dd9d..c38c9fe85 100644 --- a/pipelines/main/platforms/build_linux.yml +++ b/pipelines/main/platforms/build_linux.yml @@ -34,4 +34,4 @@ steps: TRIPLET: "${TRIPLET?}" MAKE_FLAGS: "${MAKE_FLAGS?}" ROOTFS_IMAGE_NAME: "${ROOTFS_IMAGE_NAME?}" - USE_JULIA_PGO_LTO_BOLT: "${USE_JULIA_PGO_LTO_BOLT}" + USE_JULIA_PGO_LTO_BOLT: "${USE_JULIA_PGO_LTO_BOLT}" From d057b098f61d69c031451f19deac993f730bc88a Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 00:57:02 +0000 Subject: [PATCH 09/14] Workaround possible race --- utilities/build_julia.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utilities/build_julia.sh b/utilities/build_julia.sh index 09a775ffa..80542e857 100755 --- a/utilities/build_julia.sh +++ b/utilities/build_julia.sh @@ -82,6 +82,9 @@ done if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then echo "--- Build Julia Stage 2 - PGO + LTO optimised" + ${MAKE} "${MFLAGS[@]}" stage2 || true + + echo "--- ReBuild Julia Stage 2 - PGO + LTO optimised" ${MAKE} "${MFLAGS[@]}" stage2 echo "--- Copying original shared libraries" From d44ebef692295e000c2afcca7a3c42ad3d98028e Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 03:13:31 +0000 Subject: [PATCH 10/14] Try fixing race condition again --- utilities/build_julia.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/utilities/build_julia.sh b/utilities/build_julia.sh index 80542e857..ef85a00e2 100755 --- a/utilities/build_julia.sh +++ b/utilities/build_julia.sh @@ -55,7 +55,8 @@ fi MFLAGS+=( "JULIA_CPU_TARGET=${JULIA_CPU_TARGET}" ) if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then - MFLAGS+=( "STAGE2_BUILD=$PWD" ) + STAGE2_BUILD=$PWD + MFLAGS+=( "STAGE2_BUILD=$STAGE2_BUILD" ) echo "--- Collect make options" echo "Make Options:" @@ -82,9 +83,8 @@ done if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then echo "--- Build Julia Stage 2 - PGO + LTO optimised" - ${MAKE} "${MFLAGS[@]}" stage2 || true - - echo "--- ReBuild Julia Stage 2 - PGO + LTO optimised" + ${MAKE} "${MFLAGS[@]}" "$STAGE2_BUILD" + ${MAKE} "${MFLAGS[@]}" -C "$STAGE2_BUILD/deps" install-csl ${MAKE} "${MFLAGS[@]}" stage2 echo "--- Copying original shared libraries" From b54f14ab4370ac8a5eeb99864e13133d72d994d3 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 14:29:14 +0000 Subject: [PATCH 11/14] Remove empty default.profraw HACK, not sure why this is being generated --- utilities/build_julia.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/utilities/build_julia.sh b/utilities/build_julia.sh index ef85a00e2..90de76337 100755 --- a/utilities/build_julia.sh +++ b/utilities/build_julia.sh @@ -103,6 +103,7 @@ if [[ ! -z "${USE_JULIA_PGO_LTO_BOLT-}" ]]; then ${MAKE} "${MFLAGS[@]}" bolt cd ../.. + rm base/default.profraw else echo "--- Build Julia" echo "Note: The log stream is filtered. [buildroot] replaces pwd $(pwd)" From 624576f66f685df140e21a7badbc17141495b8e6 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 19:49:54 +0000 Subject: [PATCH 12/14] Revert "Hail Mary: Try bumping to latest rootfs image" This reverts commit 05e47a944010485bb5e854056490b08c6b26c2e6. --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index 09f9e978e..df4433012 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -1,5 +1,5 @@ # ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH -llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v8.0 36cfaf62f822ae5e9ef0e5bdfc028f44c5828868 +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 # These special lines allow us to embed default values for the columns above. # Any column without a default mapping here will simply substitute a `.` to the empty string From 86111a2d1a4d29de13f1231bed97a0a69ae253d3 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 19:03:41 -0400 Subject: [PATCH 13/14] bump llvm rootfs to v7.6 Needed to include `time` which is used when printing build stats. Don't want to bump straight to v8 as that increases glibc req and test image fails that --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index df4433012..580076431 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -1,5 +1,5 @@ # ROOTFS_IMAGE_NAME TRIPLET ARCH ARCH_ROOTFS USE_JULIA_PGO_LTO_BOLT MAKE_FLAGS TIMEOUT ROOTFS_TAG ROOTFS_HASH -llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v6.00 0badf5d8794e21a03ac2ff2d46c1ab538ac02571 +llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PGO_LTO_BOLT . . v7.6 ebdfa2d40c0e27842cccbfdd43710144f9adf9d8 # These special lines allow us to embed default values for the columns above. # Any column without a default mapping here will simply substitute a `.` to the empty string From 8eee480a00007e234b21fbb488cbc380cfb99012 Mon Sep 17 00:00:00 2001 From: Zentrik Date: Tue, 28 Oct 2025 22:23:04 -0400 Subject: [PATCH 14/14] Bump build timeout to 4h --- pipelines/main/platforms/build_linux.pgo_lto.arches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipelines/main/platforms/build_linux.pgo_lto.arches b/pipelines/main/platforms/build_linux.pgo_lto.arches index 580076431..eb1bdc309 100644 --- a/pipelines/main/platforms/build_linux.pgo_lto.arches +++ b/pipelines/main/platforms/build_linux.pgo_lto.arches @@ -5,4 +5,4 @@ llvm_passes x86_64-linux-gnu-pgo-lto-bolt x86_64 x86_64 PG # Any column without a default mapping here will simply substitute a `.` to the empty string # Builds should generally finish in much less time than this, but from-source builds can take longer -#default TIMEOUT 180 +#default TIMEOUT 240