Repository navigation
Conversation
b202a7d to
aa70fa8
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6410 +/- ##
=======================================
Coverage 86.95% 86.95%
=======================================
Files 439 439
Lines 66016 66024 +8
Branches 7514 7515 +1
=======================================
+ Hits 57404 57414 +10
+ Misses 7039 7038 -1
+ Partials 1573 1572 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
|
||
| target = llvmlite.binding.Target.from_default_triple() | ||
| target_machine = target.create_target_machine() | ||
| target = llvmlite.binding.Target.from_triple(llvmlite.binding.get_process_triple()) |
There was a problem hiding this comment.
this is a separate change, right?
| target, target_machine = _create_target_machine(optimize=optimize) | ||
| return _compile_module( |
There was a problem hiding this comment.
feels like this split here and below could be merged in a separate PR to the optimization change
|
Okidokes - Thanks for reviewing, created 3 sub-PRs :) |
Extracts target-machine creation and module compilation without changing behavior, following feedback on [PR #6410, comment #3889970708](#6410 (comment)).
Adds opt-in host O3 optimization after separating the refactoring requested on [PR #6410, comment #3889970708](#6410 (comment)) --- stacked on #6415.
Reject modules whose data layout is not the native one, and give the entry point external linkage so that global DCE in the optimization pipeline cannot drop it. Annotate the llvmlite stubs both need.
aa70fa8 to
3dc0aab
Compare
|
Why open a new one instead of keeping this? It makes it harder to keep track of conversations. |
|
Pardon - noted for the future that the stacked PR is better for continuation of work than sub-PRs 🫡 |
|
Sounds good. Just to be clear, stacked PRs are still recommended against. I would prefer one PR that has the final state that you propose, marked as draft, and then small PRs opened one-by-one to merge atomic improvements. That way we avoid GitHub's stack weirdness and have both the final state to provide context, and small changes that are reviewable in isolation. |
|
Noted. Makes sense to me and thank you for clarifying the etiquette! |
Uses the process triple and native data layout for MCJIT, following feedback on [PR #6410, comment #3889958560](#6410 (comment)) --- stacked on #6414. Closes the stacked #6410, whose remaining work it carries, and fixes #6426.
Adds optional host-optimized MCJIT compilation to the LLVM JIT backend, including an O3 pipeline, native target validation, entry-point preservation, focused tests, and the required llvmlite typings.