[LLVMCPU] Add missing f64 musl builtins for ONNX operations - #24953
Prajit-Rahul wants to merge 2 commits into
Conversation
|
Hello @Prajit-Rahul 👋 Thank you for submitting a Pull Request to IREE! It looks like this is your first one. We have one ask, and you can also find some general tips below. Action required: acknowledge IREE project policiesIREE is a Linux Foundation project. All participants are expected to follow the LF Projects Code of Conduct. All contributions to IREE must follow our IREE AI Tool Use Policy. In particular:
We kindly ask you to reply to this message and confirm that you understand and accept the cited policies, particularly the AI Tool Use Policy. General guidanceOur general Contributing guide contains information and links to detailed guides on code quality, testing, commit summaries and our CI system. A common point for new PRs: if a DCO signing check fails for you, check out the section on Developer Certificate of Origin. If you have any questions, feel free to leave a comment here, or ask away on IREE Discord. Thank you, |
|
I have read and understand the IREE project policies, including the AI Tool Use Policy, and agree to follow them. I understand and can vouch for all changes submitted in this PR. |
d9c1fd2 to
0926684
Compare
Signed-off-by: Prajit-Rahul <prajitrahul05@gmail.com>
0926684 to
c501fb7
Compare
|
@Prajit-Rahul, thanks for the PR! A couple asks:
|
Signed-off-by: Prajit-Rahul <prajitrahul05@gmail.com>
31ddd82 to
b278070
Compare
Thanks for the feedback. I’ve revised the description to clarify that LLVMCPU uses the generic wasm32/wasm64 musl bitcode libraries to supply math functions for native CPU targets and removed the Testing section. The ONNX O0 and O2 jobs failed because six tests still listed as expected compilation failures now compile and run successfully. I have also removed those six entries from both expected-failure lists in the follow-up commit. I’ll check the O0 and O2 results when the new CI jobs run. |
LLVMCPU executable linking fails with undefined references when generated code calls
exp,floor,log, orround. This is because their f64 implementations and dependencies are missing from IREE's embedded musl bitcode.Added the missing sources and dependencies to wasm32 and wasm64 musl Makefiles and regenerated the bitcode libraries. During embedded linking, LLVMCPU uses the generic wasm32 and wasm64 bitcode libraries to provide C math functions to 32-bit and 64-bit targets.
Removed the twelve now-passing ONNX cases from O0 and O2 expected-compilation-failure list.
Progress on #24378.
Assisted-by: Codex