Files
hakorune/tools/selfhost/test_pattern3_if_phi_no_break.hako

31 lines
891 B
Plaintext
Raw Normal View History

// Phase 164: Test Pattern3 (If-Else PHI) without break
// Pattern3 is: if-else PHI with NO break, NO continue
// Example: Accumulate result with conditional assignment
// Simulates: loop(i < n) { if condition { result = f(result) } else { result = g(result) } i++ }
static box Main {
main(args) {
// Accumulate sum with conditional increment
// Pattern: if-else PHI where variable gets different values in both branches
local i = 0
local sum = 0
local n = 5
loop(i < n) {
// If-else PHI: sum gets different values in each branch
if i == 2 {
sum = sum + 10 // Branch 1: add 10
} else {
sum = sum + 1 // Branch 2: add 1
}
i = i + 1
}
// Output result
print("Pattern3 (If-Else PHI, no break) test")
print("Final sum: " + ("" + sum))
print("Expected: 1 + 1 + 10 + 1 + 1 = 14")
return 0
}
}