nyash-codex
287ceca18d
feat(joinir): Phase 33-16 Loop Header PHI SSOT with TailCallKind refactoring
## Problem
- joinir_min_loop.hako returned 0 instead of expected 2
- Entry block's tail call was redirected to itself (bb4 → bb4 self-loop)
- JoinIR function parameters lack SSA definition when inlined
## Solution
- Distinguish entry calls from back edges using TailCallKind enum
- Entry block (LoopEntry) stays at target, back edges redirect to header PHI
- Added explicit classification: LoopEntry, BackEdge, ExitJump
## Key Changes
- instruction_rewriter.rs: TailCallKind enum + classify_tail_call()
- Renamed is_entry_func_entry_block → is_loop_entry_point (clearer intent)
- loop_header_phi_builder.rs: New module for header PHI generation
- joinir_inline_boundary_injector.rs: Skip loop var Copy when header PHI handles it
## Verified
- joinir_min_loop.hako: returns 2 ✅
- NYASH_SSA_UNDEF_DEBUG: no undefined errors ✅
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 12:01:54 +09:00
..
2025-11-24 14:17:02 +09:00
2025-12-07 03:12:51 +09:00
2025-12-07 04:03:42 +09:00
2025-12-01 11:10:46 +09:00
2025-12-07 01:45:03 +09:00
2025-12-07 05:07:28 +09:00
2025-12-04 22:33:56 +09:00
2025-12-07 01:45:03 +09:00
2025-11-24 14:17:02 +09:00
2025-11-26 10:28:03 +09:00
2025-11-28 17:42:19 +09:00
2025-12-01 11:10:46 +09:00
2025-12-05 17:22:14 +09:00
2025-12-07 04:03:42 +09:00
2025-12-07 03:12:51 +09:00
2025-11-29 15:08:23 +09:00
2025-11-29 16:11:39 +09:00
2025-12-07 03:12:51 +09:00
2025-12-07 12:01:54 +09:00
2025-12-01 11:10:46 +09:00
2025-12-07 04:03:42 +09:00
2025-12-05 13:03:48 +09:00
2025-12-06 14:46:33 +09:00
2025-12-07 05:07:28 +09:00
2025-12-07 01:45:03 +09:00
2025-12-05 15:45:42 +09:00
2025-12-02 18:16:21 +09:00
2025-11-24 15:02:51 +09:00
2025-12-07 03:26:23 +09:00
2025-12-07 03:12:51 +09:00
2025-12-05 07:47:22 +09:00
2025-11-26 10:28:03 +09:00
2025-11-28 17:42:19 +09:00
2025-11-26 10:47:35 +09:00
2025-11-28 17:42:19 +09:00
2025-11-30 08:54:18 +09:00
2025-11-30 06:10:58 +09:00
2025-11-24 14:17:02 +09:00