Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6b1b766
test(219): add seam-SROA grounding fixture (pack/unpack round-trip)
avrabe Jun 14, 2026
5cea5bf
test(219): add gale's verified real repro (sem.loom.wasm) + notes
avrabe Jun 15, 2026
701d2a4
feat(219): ISLE term scaffolding for seam-SROA (i32.wrap_i64 / i64.ex…
avrabe Jun 15, 2026
ae8f08e
feat(219): live seam-SROA rewrite — wrap_i64(extend_i32_u(x)) → x
avrabe Jun 15, 2026
4356441
feat(219): step-3 masked pack/unpack SROA rules (the &mask and >>k ha…
avrabe Jun 16, 2026
2ab674c
docs(219): PR-C design — precise acyclic CF symbolic execution (verif…
avrabe Jun 17, 2026
9808bfe
feat(219): PR-C M2 — is_noreturn_callee classifier (divergent-call de…
avrabe Jun 17, 2026
65193f5
feat(219): PR-C M1a — precise acyclic CF executor (isolated, Z3-tested)
avrabe Jun 17, 2026
793f801
feat(219): PR-C M1b — Call by-body modeling + no-return diverge in th…
avrabe Jun 17, 2026
eff198f
feat(219): PR-C M3.1 — verify_acyclic_equivalence precise fast-path
avrabe Jun 17, 2026
8260ac8
feat(219): PR-C M3.2 — wire the precise acyclic fast-path into the in…
avrabe Jun 17, 2026
2493ad5
feat(219): PR-C M3.3 — admit acyclic-CF callees as inline candidates …
avrabe Jun 17, 2026
dc3222b
feat(219): PR-C Phase 2a — thread memory Array through the acyclic ex…
avrabe Jun 17, 2026
01f3042
feat(219): PR-C Phase 2b — impure-call havoc in the acyclic executor
avrabe Jun 17, 2026
186d236
feat(219): carrier scalar-forwarding mechanism in rewrite_with_datafl…
avrabe Jun 18, 2026
d52c2a5
feat(219): forward_carrier_locals pass (conservative top-level gate; …
avrabe Jun 18, 2026
ef884e9
feat(219): trap-aware structured dominance for carrier forwarding (ga…
avrabe Jun 18, 2026
14f5b1a
feat(219): instruction-level carrier forwarding + windowed SROA (br_t…
avrabe Jun 18, 2026
6299d76
feat(219): narrow-local analysis completes the seam dissolution
avrabe Jun 18, 2026
4f1ead2
Merge remote-tracking branch 'origin/main' into feat/219-seam-sroa
avrabe Jul 1, 2026
1d284de
test(219): update test_rse_different_locals for merged pipeline full-…
avrabe Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions loom-cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,18 @@ fn optimize_command(
track_pass("inline", before, after);
}

// #219: dissolve the u64 ABI carrier the inline leaves behind (scalar-forward
// the single-assignment carrier to its unpack sites, then SROA). Runs right
// after inline so the carrier is fresh; downstream dce/dead-locals reap it.
if should_run("forward-carrier") {
println!(" Running: forward-carrier");
let before = count_instructions(&module);
loom_core::optimize::forward_carrier_locals(&mut module)
.context("Carrier forwarding failed")?;
let after = count_instructions(&module);
track_pass("forward-carrier", before, after);
}

// loom#228: whole-function (module-level) dead-function elimination.
// Multi-site inlining duplicates a callee's body into each caller and
// leaves the ORIGINAL orphaned; the body-level `dce` (eliminate_dead_code)
Expand Down
Loading
Loading