Repository navigation
Conversation
Stage 1 of the LLVM 23 bump (cf. #14053 for v22): LLVM_full@23 and LLVM_full_assert@23, built from the julia-23.1.1-0 tag of JuliaLang/llvm-project (llvmorg-23.1.1 plus the Julia patches carried on julia-release/22.x that are not yet upstream). Compared to the v22 recipe, 0050-unique_function_clang-sa.patch is dropped: LLVM 23 rewrote unique_function's move constructor and the code the patch guarded no longer exists. The remaining patches apply unchanged.
Contributor
|
@maleadt Your CI build is failing. Since it's expensive you might want to cancel it and resubmit the corrected version. |
The v23 recipes pinned `julia-23.1.1-0`, which predates three commits that were pushed to `julia-release/23.x` afterwards: two Clang thread-safety analysis fixes (llvm/llvm-project#211973 and llvm/llvm-project#211885) and taking the executable stack from a module flag rather than from `llvm.init.trampoline` (llvm/llvm-project#215152). Julia's `make -C src analyze-*` static analysis runs on `Clang_jll`, so a build from the older tag cannot check the runtime, and the executable-stack change alters what `AsmPrinter` emits for any module that uses trampolines -- both belong in the toolchain Julia ships. `julia-23.1.1-1` is the head of `julia-release/23.x`, 5ab773a1ba20. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W8q2XtkTvxiw9KpY1mKZ21
`ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS` expands to a comma-separated list of op
types, so `assert(isa<ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS>(accOp))` hands four
arguments to a one-parameter macro:
ACCRecipeMaterialization.cpp:432:56: error: macro "__STRING" passed 4
arguments, but takes just 1
Only builds with assertions enabled compile that line, which is why every
`LLVM_full_assert@23` job failed while `LLVM_full@23` succeeded. Wrapping the
expression in its own parentheses is enough; it is the only such assert in the
tree, and it is still unfixed upstream as of `llvmorg-23.1.1`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W8q2XtkTvxiw9KpY1mKZ21
Member
Author
That happened with Jameson pushing additional changes. FWIW, I've significantly bumped the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 1 of the LLVM 23 bump (same split as v22: #14053, then #14300 / #14304 for the extraction packages, which have to wait for
LLVM_full_jll23 to register because they look it up in the registry).Adds
LLVM_full@23andLLVM_full_assert@23, built from the newjulia-23.1.1-0tag of JuliaLang/llvm-project. That tag isllvmorg-23.1.1plus the six Julia patches fromjulia-release/22.xthat are not yet upstream (prologue/epilogue unwinding, forced.eh_frameon AArch64,SimplifySelectOpsdisable, ittapi checkout fix, IRCE clone-legality check, SROA non-integral memset fix); the other four 22.x patches are already in 23.1.1.Compared to the v22 recipe,
0050-unique_function_clang-sa.patchis dropped: LLVM 23 rewroteunique_function's move constructor and theif (!RHS) return;the patch wrapped for clang-analyzer no longer exists. All other patches apply unchanged, and the host build requirements (CMake, GCC floor, native tablegen tools) are the same as for 22, socommon.jlonly gains thellvm_tagsentry. Still GCC 10 andpreferred_llvm_version=v"18", for the same reasons as v22.Verified locally: full x86_64-linux-gnu-cxx11 build and audit (
llvm-config --version=23.1.1jl, NVPTX/AMDGPU targets present). First-run Linux CI jobs will likely hit the cold-ccache timeout as they did for v22; retries finish.Note for stage 2:
bugpointwas removed upstream in 23, so theLLVM_utilstool list will change (branchtb/llvm23-stage2, to be opened after this registers).