roc/compiler/test_mono/generated/specialize_lowlevel.txt
2022-01-23 15:46:53 +01:00

44 lines
1.8 KiB
Text

procedure Num.22 (#Attr.2, #Attr.3):
let Test.24 : Builtin(Int(I64)) = lowlevel NumAdd #Attr.2 #Attr.3;
ret Test.24;
procedure Num.24 (#Attr.2, #Attr.3):
let Test.21 : Builtin(Int(I64)) = lowlevel NumMul #Attr.2 #Attr.3;
ret Test.21;
procedure Test.6 (Test.8, #Attr.12):
let Test.4 : Builtin(Int(I64)) = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Test.23 : Builtin(Int(I64)) = CallByName Num.22 Test.8 Test.4;
ret Test.23;
procedure Test.7 (Test.9, #Attr.12):
let Test.5 : Builtin(Int(I64)) = UnionAtIndex (Id 1) (Index 0) #Attr.12;
let Test.20 : Builtin(Int(I64)) = CallByName Num.24 Test.9 Test.5;
ret Test.20;
procedure Test.0 ():
let Test.4 : Builtin(Int(I64)) = 1i64;
let Test.5 : Builtin(Int(I64)) = 2i64;
let Test.12 : Builtin(Int(I64)) = 42i64;
joinpoint Test.19 Test.13:
let Test.14 : Builtin(Int(U8)) = GetTagId Test.13;
joinpoint Test.15 Test.11:
ret Test.11;
in
switch Test.14:
case 0:
let Test.16 : Builtin(Int(I64)) = CallByName Test.6 Test.12 Test.13;
jump Test.15 Test.16;
default:
let Test.17 : Builtin(Int(I64)) = CallByName Test.7 Test.12 Test.13;
jump Test.15 Test.17;
in
let Test.22 : Builtin(Bool) = true;
if Test.22 then
let Test.6 : LambdaSet(LambdaSet { set: [( Test.6, [Builtin(Int(I64))]), ( Test.7, [Builtin(Int(I64))])], representation: Union(NonRecursive([[Builtin(Int(I64))], [Builtin(Int(I64))]])) }) = ClosureTag(Test.6) Test.4;
jump Test.19 Test.6;
else
let Test.7 : LambdaSet(LambdaSet { set: [( Test.6, [Builtin(Int(I64))]), ( Test.7, [Builtin(Int(I64))])], representation: Union(NonRecursive([[Builtin(Int(I64))], [Builtin(Int(I64))]])) }) = ClosureTag(Test.7) Test.5;
jump Test.19 Test.7;