Root cause: PHI inputs were being remapped twice in instruction_rewriter.rs - Line 304: remap_instruction() already remapped JoinIR → Host ValueIds - Line 328: remap_value() attempted to remap again → undefined ValueIds Fix: Only remap block IDs, use already-remapped ValueIds as-is Test results: - phase195_sum_count.hako → 93 ✅ (multi-carrier P3) - loop_if_phi.hako → sum=9 ✅ (single-carrier P3) - loop_min_while.hako → 0,1,2 ✅ (Pattern 1) - joinir_min_loop.hako → RC:0 ✅ (Pattern 2) - No [joinir/freeze], no regressions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
484 B
Plaintext
24 lines
484 B
Plaintext
static box Main {
|
|
main() {
|
|
local i = 1
|
|
local sum = 0
|
|
local count = 0
|
|
|
|
loop(i <= 5) {
|
|
if(i % 2 == 1) {
|
|
sum = sum + i
|
|
count = count + 1
|
|
} else {
|
|
sum = sum + 0
|
|
count = count + 0
|
|
}
|
|
i = i + 1
|
|
}
|
|
|
|
// Expected: sum=9 (1+3+5), count=3
|
|
local result = sum * 10 + count // 93
|
|
print(result)
|
|
return 0
|
|
}
|
|
}
|