Skip to content

feat/interpret uhir#9

Merged
JoGei merged 8 commits into
masterfrom
feat/interpret_uhir
Apr 17, 2026
Merged

feat/interpret uhir#9
JoGei merged 8 commits into
masterfrom
feat/interpret_uhir

Conversation

@JoGei

@JoGei JoGei commented Apr 17, 2026

Copy link
Copy Markdown
Owner

adds a µhIR Interpreter module:

  • uses simple topological sorting (per dfg) of sequencing graph units to execute its nodes
  • hooks into µIR interpreter similar to µglIR interpreter:
uhls run build/dot4_relu.uir --uhir dot4_relu.seq.uhir

JoGei added 8 commits April 15, 2026 20:34
Use the actual loop latch as the true-input predecessor when lowering loop
metadata, and resolve flattened block phi nodes against the current predecessor
by replacing matching phis with moves. This preserves the correct carried value
when sequential loop bodies are emitted as a single region.
Cover seq-stage execution of a loop whose header phis receive values from a
separate latch block, including latch phis that select between multiple body
predecessors. This guards correct predecessor handling through seq lowering
and µhIR interpretation.
Keep flattened loop-body phis intact during seq lowering so downstream µglIR phi-carry lowering still sees the original latch structure. Move the interpreter-only fallback into the µhIR interpreter: when a flattened synthetic region reaches a phi without an explicit predecessor label, resolve the latest available incoming operand from execution state.
@JoGei
JoGei merged commit 575cf33 into master Apr 17, 2026
8 checks passed
@JoGei
JoGei deleted the feat/interpret_uhir branch April 17, 2026 10:04
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