lean4-htt/tests/lean/sint_basic.lean.expected.out
Cameron Zwarich e069c9eb0e
perf: use IR type info to decide whether to insert RC ops (#9396)
This is mostly a refactoring that replaces other analyses with type
information, but due to the introduction of `tagged` it also has the
side effect of eliminating ref counting ops entirely for types that
always have a tagged scalar representation, e.g. `Unit`.
2025-07-16 02:02:32 +00:00

413 lines
3 KiB
Text

Int8 : Type
20
-20
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
[Compiler.IR] [result]
def myId8 (x_1 : u8) : u8 :=
ret x_1
def myId8._boxed (x_1 : tagged) : tagged :=
let x_2 : u8 := unbox x_1;
let x_3 : u8 := myId8 x_2;
let x_4 : tobj := box x_3;
ret x_4
Int16 : Type
20
-20
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
[Compiler.IR] [result]
def myId16 (x_1 : u16) : u16 :=
ret x_1
def myId16._boxed (x_1 : tagged) : tagged :=
let x_2 : u16 := unbox x_1;
let x_3 : u16 := myId16 x_2;
let x_4 : tobj := box x_3;
ret x_4
Int32 : Type
20
-20
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
[Compiler.IR] [result]
def myId32 (x_1 : u32) : u32 :=
ret x_1
def myId32._boxed (x_1 : tobj) : tobj :=
let x_2 : u32 := unbox x_1;
dec x_1;
let x_3 : u32 := myId32 x_2;
let x_4 : tobj := box x_3;
ret x_4
Int64 : Type
20
-20
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
[Compiler.IR] [result]
def myId64 (x_1 : u64) : u64 :=
ret x_1
def myId64._boxed (x_1 : tobj) : tobj :=
let x_2 : u64 := unbox x_1;
dec x_1;
let x_3 : u64 := myId64 x_2;
let x_4 : tobj := box x_3;
ret x_4
ISize : Type
20
-20
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
[Compiler.IR] [result]
def myIdSize (x_1 : usize) : usize :=
ret x_1
def myIdSize._boxed (x_1 : tobj) : tobj :=
let x_2 : usize := unbox x_1;
dec x_1;
let x_3 : usize := myIdSize x_2;
let x_4 : tobj := box x_3;
ret x_4