Skip to content

Compiler microopt - #24

Open
adienes wants to merge 24 commits into
masterfrom
compiler_microopt
Open

Compiler microopt#24
adienes wants to merge 24 commits into
masterfrom
compiler_microopt

Conversation

@adienes

@adienes adienes commented Aug 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

adienes and others added 24 commits August 14, 2026 14:12
Invoke deferred work with the interpreter already stored in the inference state to avoid boxing a specialized interpreter.

Co-authored-by: OpenAI Codex <codex@openai.com>
Expose proof stream container invariants to inference during edge materialization.

Co-authored-by: OpenAI Codex <codex@openai.com>
Avoid reconstructing immutable IR nodes when SSA renumbering leaves an operand unchanged.

Co-authored-by: OpenAI Codex <codex@openai.com>
Pre-scan for an enter node before allocating try and catch analysis state.

Co-authored-by: OpenAI Codex <codex@openai.com>
Keep the first signature directly and allocate a vector only when a target has multiple distinct signatures.

Co-authored-by: OpenAI Codex <codex@openai.com>
Use the allocation-free singleton query in optimizer and escape-analysis consumers.

Co-authored-by: OpenAI Codex <codex@openai.com>
Retain heap, worklist, and bit-set storage across slot dominance-frontier queries.

Co-authored-by: OpenAI Codex <codex@openai.com>
Reuse the consumed incoming-value vector for one CFG successor and copy it only for additional successors.

Co-authored-by: OpenAI Codex <codex@openai.com>
Bind call arguments once and isolate delayed TypeVar callback locals to avoid captured mutable boxes.

Co-authored-by: OpenAI Codex <codex@openai.com>
Pass the interpreter already stored in the inference state to the dynamic method-match query.

Co-authored-by: OpenAI Codex <codex@openai.com>
Retain block vectors, predecessor worklist, and live-in bit set across slot liveness queries.

Co-authored-by: OpenAI Codex <codex@openai.com>
Create assign-once result storage only when generic-call inference actually yields.

Co-authored-by: OpenAI Codex <codex@openai.com>
Replace nested restartable closures with explicit task state and top-level step functions.

Co-authored-by: OpenAI Codex <codex@openai.com>
Use the callable default form of get so successful cache lookups do not construct an unused empty index vector.

Co-authored-by: OpenAI Codex <codex@openai.com>
Represent all-zero basic-block alias tables with a sentinel and materialize vectors only for entry states that carry aliases.

Co-authored-by: OpenAI Codex <codex@openai.com>
Use MethodMatchInfo as the source of truth for simple lookups and reconstruct MethodMatchTarget values on indexed access, while retaining flattened union-split storage.

Co-authored-by: OpenAI Codex <codex@openai.com>
Count inline bodies nested in union splits during CFG planning and reuse that traversal for the existing result-size estimate.

Co-authored-by: OpenAI Codex <codex@openai.com>
Defer construction of the lifted-leaf map until a value can be recorded, while preserving the empty successful result.

Co-authored-by: OpenAI Codex <codex@openai.com>
Use shared read-only buffers for empty new-node streams and promote them to owned storage before the first insertion.

Co-authored-by: OpenAI Codex <codex@openai.com>
Route mutable expression operands through a small inline helper while keeping immutable IR-node reconstruction out of line. This avoids the generic setter cascade on the dominant UseRef mutation path.

Co-authored-by: OpenAI Codex <codex@openai.com>
Reserve the reusable DFS stack from the CFG block count to avoid geometric growth during fresh dominator-tree construction.

Co-authored-by: OpenAI Codex <codex@openai.com>
Construct one-shot DFS map storage at its target size without clearing entries that DFS immediately overwrites. Keep zero-initialized construction unchanged for reusable trees.

Co-authored-by: OpenAI Codex <codex@openai.com>
Route expression-backed UseRef reads through a compact inline helper while retaining the generic node cascade for immutable IR nodes. This avoids repeated operand splitting and type checks on the dominant SSA-use read path.

Co-authored-by: OpenAI Codex <codex@openai.com>
Advance expression-backed use iterators directly through argument vectors while retaining generic token handling for immutable nodes and phi holes.

Co-authored-by: OpenAI Codex <codex@openai.com>
@adienes
adienes force-pushed the compiler_microopt branch from 65e68ab to 21b360b Compare August 14, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant