- Notifications
You must be signed in to change notification settings - Fork759
Comments
Conversation
450363d toc9e13c8Comparebuild-scripts/build_llvm.py Outdated
| "repo": "https://github.com/espressif/llvm-project.git", | ||
| "repo_ssh": "git@github.com:espressif/llvm-project.git", | ||
| "branch": "xtensa_release_18.1.2", | ||
| "branch": "xtensa_release_21.1.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
no such a branch availabile
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Thanks - I should have checked that. Looks like the new API for LLVMContext construction will have to get wrapped in an #ifdef LLVM version check, since xtensa's latest release is only LLVM 19.
c11c325 to0a7e444CompareWraps the LLVMContext construction in LLVM 21 version check; LLVM 21 makes abreaking change in LLVMContext construction, but WAMR still needs tosupport older LLVM versions, e.g. for xtensa/esp32 support which is onlyavailable in at most LLVM 19.
wffurr commentedOct 3, 2025
Is this good to merge? The test failures look like timeouts; one error is "fatal error: error writing to /tmp/cckAF38s.s: No space left on device" which doesn't seem relevant. Thanks! |
yamt commentedOct 6, 2025
isn't it possible llvm 21 build actually somehow requires more space and caused ENOSPC on the ci? |
LLVM 21 update uses more disk space and makes the standard runner failwith "No space left on device". Using the [free disk spaceaction](https://github.com/marketplace/actions/free-disk-space-ubuntu)to delete the unused Android, Haskell, and .NET runtimes frees up spaceon the runner.
wffurr commentedOct 6, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I found a script to free up disk space on the GitHub Ubuntu runner. Is that OK to use? Seems to fix the out of space error. If you'd prefer I didn't use the action from the marketplace, I can hoist that bit out into a script in the WAMR repo and use that instead. |
lum1n0us commentedOct 10, 2025
@yamt@TianlongLiang@loganek What are your thoughts on upgrading LLVM to version 21? |
yamt commentedOct 10, 2025
i don't have strong opinions either ways. |
TianlongLiang commentedOct 10, 2025
For ARC, I don't think we should upgrade LLVM to 21.x. For the default target, we do need to update static pgo-related data structures like inthis pr. Personally, I think we need to update the static PGO first before actually upgrading LLVM. |
wffurr commentedOct 14, 2025
We're using WAMR with LLVM head and have patches for LLVM's changes in 21 and 22 that break WAMR. This is probably not the way the software is intended to be used. I was hoping to update to something closer to head. I could send the patch for just |
Building with llvm 21 results in the error below. Support for llvm 21upstream is in progress but does not appear to be ready at this time.Rebuild with llvm 20 for now.```/home/buildozer/aports/community/wasm-micro-runtime/src/wasm-micro-runtime-WAMR-2.3.0/core/iwasm/compilation/aot_llvm.c: In function 'aot_create_comp_context':/home/buildozer/aports/community/wasm-micro-runtime/src/wasm-micro-runtime-WAMR-2.3.0/core/iwasm/compilation/aot_llvm.c:2580:31: error: implicit declaration of function 'LLVMOrcThreadSafeContextGetContext' [-Wimplicit-function-declaration] 2580 | if (!(comp_ctx->context = LLVMOrcThreadSafeContextGetContext( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/buildozer/aports/community/wasm-micro-runtime/src/wasm-micro-runtime-WAMR-2.3.0/core/iwasm/compilation/aot_llvm.c:2580:29: error: assignment to 'LLVMContextRef' {aka 'struct LLVMOpaqueContext *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 2580 | if (!(comp_ctx->context = LLVMOrcThreadSafeContextGetContext( | ^```Ref:bytecodealliance/wasm-micro-runtime#4654
This required minor changes to LLVMContext construction and PGOOptions.