roc/compiler/test_mono/generated/specialize_closures.txt
2021-08-16 21:03:58 +02:00

53 lines
1.4 KiB
Text

procedure Num.24 (#Attr.2, #Attr.3):
let Test.28 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Test.28;
procedure Num.26 (#Attr.2, #Attr.3):
let Test.25 = lowlevel NumMul #Attr.2 #Attr.3;
ret Test.25;
procedure Test.1 (Test.2, Test.3):
let Test.17 = GetTagId Test.2;
joinpoint Test.18 Test.16:
ret Test.16;
in
switch Test.17:
case 0:
let Test.19 = CallByName Test.7 Test.3 Test.2;
jump Test.18 Test.19;
default:
let Test.20 = CallByName Test.8 Test.3 Test.2;
jump Test.18 Test.20;
procedure Test.7 (Test.10, #Attr.12):
let Test.4 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
let Test.27 = CallByName Num.24 Test.10 Test.4;
ret Test.27;
procedure Test.8 (Test.11, #Attr.12):
let Test.6 = UnionAtIndex (Id 1) (Index 1) #Attr.12;
let Test.5 = UnionAtIndex (Id 1) (Index 0) #Attr.12;
if Test.6 then
let Test.24 = CallByName Num.26 Test.11 Test.5;
ret Test.24;
else
ret Test.11;
procedure Test.0 ():
let Test.6 = true;
let Test.4 = 1i64;
let Test.5 = 2i64;
joinpoint Test.22 Test.14:
let Test.15 = 42i64;
let Test.13 = CallByName Test.1 Test.14 Test.15;
ret Test.13;
in
let Test.26 = true;
if Test.26 then
let Test.7 = ClosureTag(Test.7) Test.4;
jump Test.22 Test.7;
else
let Test.8 = ClosureTag(Test.8) Test.5 Test.6;
jump Test.22 Test.8;