Repository navigation
Update compiler-rt from LLVM 22.1.8 to 23.1.3 - #27808
arsnyder16 wants to merge 12 commits into
Conversation
Updated size values for a.out.nodebug.wasm and total.
…er-rt # Conflicts: # test/codesize/test_codesize_hello_dylink_all.json
…er-rt # Conflicts: # test/codesize/test_codesize_hello_dylink_all.json
…er-rt # Conflicts: # test/codesize/test_codesize_hello_dylink_all.json
|
Sorry, I am OOO for two weeks now. Will be back next week. |
|
I created a tracking bug for the llvm library update: #27992 |
|
Would be nice to see this fixed. I've been looking to make PGO work with Python since it improves performance by about 10%, but this is a blocker for that as I understand it. Unless you paste over the installed copy of Emscripten with the right compiler-rt. |
I think for that you really want #27223 (the continuous update of compiler-rt). This PR is just a one of update to v23 (when tot / emscripten is already ahead of that). |
|
Can we land the https://github.com/arsnyder16/llvm-project/tree/asnyder/emscripten-libs-23 patches branch first? i.e. can you sent a PR for that in our fork? It should target the llvm 23 base branch. Once we approve it I will push emscripten-libs-23 to out fork. Are you sure you captured all the current changes in this branch? Normally I run |
This adds all cumulative downstream changes so far to emscripten-libs-23 branch (which currently is at llvmorg-23.1.3 upstream tag). Normally I used to upload this after all changes are finalized with Emscripten library updates and all tests pass. But given that the compiler-rt update has been requested (emscripten-core/emscripten#27808), I'll upload this as a draft here, and add more changes to this as I fix tests.
Co-authored-by: Heejin Ahn <aheejin@gmail.com>
|
@aheejin Your PR is fine. i can follow up enabling that test coverage test |
This updates compiler-rt from LLVM 22.1.8 to LLVM 23.1.3:
https://github.com/llvm/llvm-project/releases/tag/llvmorg-23.1.3
This restores coverage affected by #27223. The current LLVM toolchain emits raw profile version 11, while compiler-rt 22.1.8 uses version 10. This mismatch causes programs built with
-fcoverage-mappingto trap while writing profile data. Updating compiler-rt brings the runtime in sync with the toolchain and allowstest_fcoverage_mappingto be re-enabled. Keeping compiler-rt continuously synchronized with the compiler remains a separate task in #27223.The LLVM 22 downstream branch was first refreshed from Emscripten main using
system/lib/push_llvm_changes.py:emscripten-core/llvm-project#23
The complete downstream runtime patch set was then ported to LLVM 23.1.3. The patch branch is ready for review against the LLVM 23 base branch in the Emscripten LLVM fork:
https://github.com/arsnyder16/llvm-project/tree/asnyder/emscripten-libs-23-review
Additional changes:
InstrProfilingPlatformROCm.cppandInstrProfilingPlatformROCmHSA.cppfrom the standard profiling runtime. LLVM 23 builds these only as part of its separate opt-inprofile_rocmruntime, while Emscripten otherwise includes every profile.cppfile.