llvm/codegen: extract wrapper/object emission into object.rs; dedupe mod.rs. runner/json_v0_bridge: introduce BridgeEnv + VarScope to unify lowering paths (lower_expr/args) and cache env flags; thread env through stmt lowering; minor HashMap type cleanups. Build + PyVM stage-2 smokes passed.

This commit is contained in:
Selfhosting Dev
2025-09-17 02:50:39 +09:00
parent f2ffa30645
commit 4bd49884ca
32 changed files with 3348 additions and 2304 deletions

View File

@ -1,34 +1,34 @@
mod blocks;
pub mod builder_cursor;
pub mod flow;
mod externcall;
mod newbox;
mod boxcall;
pub mod ctx;
pub mod string_ops;
mod arith;
mod mem;
mod consts;
mod strings;
mod arrays;
mod maps;
mod arith_ops;
mod arrays;
mod blocks;
mod boxcall;
pub mod builder_cursor;
mod call;
mod consts;
pub mod ctx;
mod externcall;
pub mod flow;
mod loopform;
mod maps;
mod mem;
mod newbox;
mod resolver;
pub mod string_ops;
mod strings;
pub(super) use blocks::{create_basic_blocks, precreate_phis};
pub(super) use flow::{emit_branch, emit_jump, emit_return};
pub(super) use externcall::lower_externcall;
pub(super) use newbox::lower_newbox;
pub(super) use boxcall::{lower_boxcall, lower_boxcall_boxed, lower_boxcall_via_ctx};
pub(super) use arith::lower_compare;
pub(super) use mem::{lower_load, lower_store};
pub(super) use mem::lower_copy;
pub(super) use consts::lower_const;
pub(super) use arith_ops::{lower_binop, lower_unary};
pub(super) use blocks::{create_basic_blocks, precreate_phis};
pub(super) use boxcall::{lower_boxcall, lower_boxcall_boxed, lower_boxcall_via_ctx};
pub(super) use call::lower_call;
pub(super) use loopform::{LoopFormContext, lower_while_loopform};
pub(super) use loopform::normalize_header_phis_for_latch;
pub(super) use consts::lower_const;
pub(super) use externcall::lower_externcall;
pub(super) use flow::{emit_branch, emit_jump, emit_return};
pub(super) use loopform::dev_check_dispatch_only_phi;
pub(super) use loopform::normalize_header_phis_for_latch;
pub(super) use loopform::{lower_while_loopform, LoopFormContext};
pub(super) use mem::lower_copy;
pub(super) use mem::{lower_load, lower_store};
pub(super) use newbox::lower_newbox;
pub(super) use resolver::Resolver;