Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LLVM] Bump to v19.1.7+0 #10479

Merged
merged 3 commits into from
Feb 10, 2025
Merged

[LLVM] Bump to v19.1.7+0 #10479

merged 3 commits into from
Feb 10, 2025

Conversation

Zentrik
Copy link
Contributor

@Zentrik Zentrik commented Feb 8, 2025

Also switch clang back to v16 for compilation as that seems to be faster.

Also switch clang back to v16 for compilation as that seems to be faster.
Copy link
Member

@giordano giordano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also switch clang back to v16 for compilation as that seems to be faster.

Sigh.

L/LLVM/common.jl Outdated
@@ -20,7 +20,7 @@ const llvm_tags = Dict(
v"16.0.6" => "499f87882a4ba1837ec12a280478cf4cb0d2753d", # julia-16.0.6-2
v"17.0.6" => "0007e48608221f440dce2ea0d3e4f561fc10d3c6", # julia-17.0.6-5
v"18.1.7" => "ed30d043a240d06bb6e010a41086e75713156f4f", # julia-18.1.7-2
v"19.1.1" => "49c6812e2c4624a7f0cee34859a0511209f44b67", # julia-19.1.1-1
v"19.1.1" => "6e8ff5767e9466d73be85f1eaa760e2c94cdbd86", # julia-19.1.7-0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to self to create the tag if this is working.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L/LLVM/common.jl Outdated Show resolved Hide resolved
@eschnett
Copy link
Contributor

eschnett commented Feb 9, 2025

Also switch clang back to v16 for compilation as that seems to be faster.

How did you measure this? This wouldn't have involved ccache, would it?

@giordano
Copy link
Member

giordano commented Feb 9, 2025

How did you measure this? This wouldn't have involved ccache, would it?

That's still relevant for the first run with cold cache, and for windows we always use clang and disable ccache:

if [[ ${target} == *mingw32* ]]; then
# Build system for Windows is plagued by race conditions.
# We disable Ccache for this platform to avoid caching
# possibly badly compiled racey code.
export CCACHE_DISABLE=true
fi

Yggdrasil/L/LLVM/common.jl

Lines 284 to 286 in 332689d

# Windows runs out of symbols so use clang which can do some fancy things
if [[ "${target}" == *mingw* && "${LLVM_MAJ_VER}" -ge "16" ]]; then
CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake)

@Zentrik
Copy link
Contributor Author

Zentrik commented Feb 9, 2025

Also switch clang back to v16 for compilation as that seems to be faster.

How did you measure this? This wouldn't have involved ccache, would it?

When binary builder added clang 17, my builds all started timing out (i.e taking hours longer) on the CI at https://github.com/Zentrik/llvm_julia_tester. I don't think I even had ccache setup then (I did also enable cache at windows at the same time, GitHub runners don't have enough threads to cause issues).
I suspect I tested the speed of clang 18 similarly at some point.

Edit: also ccache provides little benefit when compiling head as there are too many commits on weekdays.

@giordano
Copy link
Member

giordano commented Feb 9, 2025

@Zentrik are we good to build on JuliaLang/llvm-project@3cb75ba now (remember to bump the triggers to force rebuild for all platforms)? We should have reasonably warm ccache and multi-threaded auditor, hopefully this should save some time during the builds.

@Zentrik
Copy link
Contributor Author

Zentrik commented Feb 9, 2025

@Zentrik are we good to build on JuliaLang/llvm-project@3cb75ba now (remember to bump the triggers to force rebuild for all platforms)? We should have reasonably warm ccache and multi-threaded auditor, hopefully this should save some time during the builds.

Hopefully, I have a build going on at https://github.com/Zentrik/llvm_julia_tester/actions/runs/13227764722 to confirm. But if building here won't require much work from you feel free to kick it off/ I'll do it in a bit.

@giordano
Copy link
Member

giordano commented Feb 9, 2025

Previous build, LLVM_full i686-linux-gnu-cxx11:

[ Info: Timings: setup: 1m 44.77s, build: 40m 16.86s, audit: 70m 47.38s, packaging: 53.28s

New build, LLVM_full i686-linux-gnu-cxx11:

[ Info: Timings: setup: 2m 57.87s, build: 8m 25.5s, audit: 33m 39.8s, packaging: 30.32s

Previous build, LLVM_full_assert riscv64-linux-gnu-cxx03

[ Info: Timings: setup: 13m 16.59s, build: 21m 22.68s, audit: 122m 2.8s, packaging: 1m 9.55s

New build, LLVM_full_assert riscv64-linux-gnu-cxx03

[ Info: Timings: setup: 7m 5.41s, build: 13m 32.0s, audit: 48m 37.69s, packaging: 55.72s

Parallel audit is finally bearing fruits.

@giordano
Copy link
Member

Good to go once last job finishes?

@Zentrik
Copy link
Contributor Author

Zentrik commented Feb 10, 2025

Good to go once last job finishes?

Yep 🥳

@giordano
Copy link
Member

Well, I don't know if we'll ever get out of the race condition on

[08:58:28] /workspace/srcdir/llvm-project/llvm/include/llvm/CodeGenTypes/MachineValueType.h:43:10: fatal error: 'llvm/CodeGen/GenVT.inc' file not found
[08:58:28] #include "llvm/CodeGen/GenVT.inc"
[08:58:28]          ^~~~~~~~~~~~~~~~~~~~~~~~
[08:58:28] 1 error generated.

We hit it three times in a row in the remaining job...

@giordano giordano enabled auto-merge (squash) February 10, 2025 09:12
@giordano giordano merged commit 445bc6e into master Feb 10, 2025
33 checks passed
@giordano giordano deleted the llvm-19.1.7 branch February 10, 2025 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants