lean4-htt/tests/lean/updateExprIssue.lean.expected.out
Cameron Zwarich c90cc392f7
fix: populate the xType field of FnBody.case (#9344)
This PR correctly populates the `xType` field of the `IR.FnBody.case`
constructor. It turns out that there is no obvious consequence for this
being incorrect, because it is conservatively recomputed by the `Boxing`
pass.
2025-07-13 21:56:07 +00:00

26 lines
859 B
Text

[Compiler.IR] [init]
def sefFn (x_1 : obj) (x_2 : obj) : obj :=
case x_1 : obj of
Lean.Expr.app._impl →
let x_3 : u64 := sproj[2, 0] x_1;
let x_4 : obj := proj[0] x_1;
let x_5 : obj := proj[1] x_1;
block_6 (x_7 : u8) :=
case x_7 : u8 of
Bool.false →
let x_8 : obj := Lean.Expr.app._override x_2 x_5;
ret x_8
Bool.true →
ret x_1;
let x_9 : usize := ptrAddrUnsafe ◾ x_4;
let x_10 : usize := ptrAddrUnsafe ◾ x_2;
let x_11 : u8 := USize.decEq x_9 x_10;
case x_11 : u8 of
Bool.false →
jmp block_6 x_11
Bool.true →
let x_12 : usize := ptrAddrUnsafe ◾ x_5;
let x_13 : u8 := USize.decEq x_12 x_12;
jmp block_6 x_13
default →
ret x_1