mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 20:28:02 +00:00
Merge branch 'main' into typecheck-module-params
This commit is contained in:
commit
762799052e
600 changed files with 30337 additions and 17782 deletions
|
@ -2,80 +2,81 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.107 (List.491, List.492, List.493):
|
||||
let List.595 : U64 = 0i64;
|
||||
let List.596 : U64 = CallByName List.6 List.491;
|
||||
let List.594 : [C U64, C U64] = CallByName List.80 List.491 List.492 List.493 List.595 List.596;
|
||||
ret List.594;
|
||||
procedure List.110 (List.539, List.540, List.541):
|
||||
let List.643 : U64 = 0i64;
|
||||
let List.644 : U64 = CallByName List.6 List.539;
|
||||
let List.642 : [C U64, C U64] = CallByName List.80 List.539 List.540 List.541 List.643 List.644;
|
||||
ret List.642;
|
||||
|
||||
procedure List.26 (List.204, List.205, List.206):
|
||||
let List.588 : [C U64, C U64] = CallByName List.107 List.204 List.205 List.206;
|
||||
let List.591 : U8 = 1i64;
|
||||
let List.592 : U8 = GetTagId List.588;
|
||||
let List.593 : Int1 = lowlevel Eq List.591 List.592;
|
||||
if List.593 then
|
||||
let List.207 : U64 = UnionAtIndex (Id 1) (Index 0) List.588;
|
||||
ret List.207;
|
||||
procedure List.26 (List.207, List.208, List.209):
|
||||
let List.636 : [C U64, C U64] = CallByName List.110 List.207 List.208 List.209;
|
||||
let List.639 : U8 = 1i64;
|
||||
let List.640 : U8 = GetTagId List.636;
|
||||
let List.641 : Int1 = lowlevel Eq List.639 List.640;
|
||||
if List.641 then
|
||||
let List.210 : U64 = UnionAtIndex (Id 1) (Index 0) List.636;
|
||||
ret List.210;
|
||||
else
|
||||
let List.208 : U64 = UnionAtIndex (Id 0) (Index 0) List.588;
|
||||
ret List.208;
|
||||
let List.211 : U64 = UnionAtIndex (Id 0) (Index 0) List.636;
|
||||
ret List.211;
|
||||
|
||||
procedure List.38 (List.347, List.348):
|
||||
let List.587 : U64 = CallByName List.6 List.347;
|
||||
let List.349 : U64 = CallByName Num.77 List.587 List.348;
|
||||
let List.577 : List U8 = CallByName List.43 List.347 List.349;
|
||||
ret List.577;
|
||||
procedure List.38 (List.395, List.396):
|
||||
let List.635 : U64 = CallByName List.6 List.395;
|
||||
let List.397 : U64 = CallByName Num.77 List.635 List.396;
|
||||
let List.625 : List U8 = CallByName List.43 List.395 List.397;
|
||||
ret List.625;
|
||||
|
||||
procedure List.43 (List.345, List.346):
|
||||
let List.585 : U64 = CallByName List.6 List.345;
|
||||
let List.584 : U64 = CallByName Num.77 List.585 List.346;
|
||||
let List.579 : {U64, U64} = Struct {List.346, List.584};
|
||||
let List.578 : List U8 = CallByName List.49 List.345 List.579;
|
||||
ret List.578;
|
||||
procedure List.43 (List.393, List.394):
|
||||
let List.633 : U64 = CallByName List.6 List.393;
|
||||
let List.632 : U64 = CallByName Num.77 List.633 List.394;
|
||||
let List.627 : {U64, U64} = Struct {List.394, List.632};
|
||||
let List.626 : List U8 = CallByName List.49 List.393 List.627;
|
||||
ret List.626;
|
||||
|
||||
procedure List.49 (List.423, List.424):
|
||||
let List.581 : U64 = StructAtIndex 1 List.424;
|
||||
let List.582 : U64 = StructAtIndex 0 List.424;
|
||||
let List.580 : List U8 = CallByName List.72 List.423 List.581 List.582;
|
||||
ret List.580;
|
||||
procedure List.49 (List.471, List.472):
|
||||
let List.629 : U64 = StructAtIndex 1 List.472;
|
||||
let List.630 : U64 = StructAtIndex 0 List.472;
|
||||
let List.628 : List U8 = CallByName List.72 List.471 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.586 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.586;
|
||||
let List.634 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.634;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.609 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.609;
|
||||
let List.657 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.657;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.583 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.583;
|
||||
let List.631 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.631;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.597 List.494 List.495 List.496 List.497 List.498:
|
||||
let List.599 : Int1 = CallByName Num.22 List.497 List.498;
|
||||
if List.599 then
|
||||
let List.608 : U8 = CallByName List.66 List.494 List.497;
|
||||
let List.600 : [C U64, C U64] = CallByName Test.4 List.495 List.608;
|
||||
let List.605 : U8 = 1i64;
|
||||
let List.606 : U8 = GetTagId List.600;
|
||||
let List.607 : Int1 = lowlevel Eq List.605 List.606;
|
||||
if List.607 then
|
||||
let List.499 : U64 = UnionAtIndex (Id 1) (Index 0) List.600;
|
||||
let List.603 : U64 = 1i64;
|
||||
let List.602 : U64 = CallByName Num.51 List.497 List.603;
|
||||
jump List.597 List.494 List.499 List.496 List.602 List.498;
|
||||
joinpoint List.645 List.542 List.543 List.544 List.545 List.546:
|
||||
let List.647 : Int1 = CallByName Num.22 List.545 List.546;
|
||||
if List.647 then
|
||||
let List.656 : U8 = CallByName List.66 List.542 List.545;
|
||||
let List.648 : [C U64, C U64] = CallByName Test.4 List.543 List.656;
|
||||
let List.653 : U8 = 1i64;
|
||||
let List.654 : U8 = GetTagId List.648;
|
||||
let List.655 : Int1 = lowlevel Eq List.653 List.654;
|
||||
if List.655 then
|
||||
let List.547 : U64 = UnionAtIndex (Id 1) (Index 0) List.648;
|
||||
let List.651 : U64 = 1i64;
|
||||
let List.650 : U64 = CallByName Num.51 List.545 List.651;
|
||||
jump List.645 List.542 List.547 List.544 List.650 List.546;
|
||||
else
|
||||
dec List.494;
|
||||
let List.500 : U64 = UnionAtIndex (Id 0) (Index 0) List.600;
|
||||
let List.604 : [C U64, C U64] = TagId(0) List.500;
|
||||
ret List.604;
|
||||
dec List.542;
|
||||
let List.548 : U64 = UnionAtIndex (Id 0) (Index 0) List.648;
|
||||
let List.652 : [C U64, C U64] = TagId(0) List.548;
|
||||
ret List.652;
|
||||
else
|
||||
dec List.494;
|
||||
let List.598 : [C U64, C U64] = TagId(1) List.495;
|
||||
ret List.598;
|
||||
dec List.542;
|
||||
let List.646 : [C U64, C U64] = TagId(1) List.543;
|
||||
ret List.646;
|
||||
in
|
||||
jump List.597 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
inc #Derived_gen.0;
|
||||
jump List.645 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -92,7 +93,6 @@ procedure Num.77 (#Attr.2, #Attr.3):
|
|||
procedure Test.1 (Test.2):
|
||||
let Test.13 : U64 = 0i64;
|
||||
let Test.14 : {} = Struct {};
|
||||
inc Test.2;
|
||||
let Test.3 : U64 = CallByName List.26 Test.2 Test.13 Test.14;
|
||||
let Test.12 : U64 = 0i64;
|
||||
let Test.10 : Int1 = CallByName Bool.11 Test.3 Test.12;
|
||||
|
|
|
@ -1,7 +1,59 @@
|
|||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.577 : List {} = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.629 : U64 = 0i64;
|
||||
let List.630 : U64 = CallByName List.6 List.166;
|
||||
let List.628 : List {} = CallByName List.95 List.166 List.167 List.168 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.642 : {} = CallByName Test.2 List.280;
|
||||
let List.641 : List {} = CallByName List.71 List.279 List.642;
|
||||
ret List.641;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.626 : List {} = CallByName List.68 List.277;
|
||||
let List.625 : List {} = CallByName List.18 List.275 List.626 List.276;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.639 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.639;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.638 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.644 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.644;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.643 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.643;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.631 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.633 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.633 then
|
||||
let List.637 : [] = CallByName List.66 List.169 List.172;
|
||||
let List.174 : List {} = CallByName List.278 List.170 List.637 List.171;
|
||||
let List.636 : U64 = 1i64;
|
||||
let List.635 : U64 = CallByName Num.51 List.172 List.636;
|
||||
jump List.631 List.169 List.174 List.171 List.635 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.631 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Test.2 (Test.3):
|
||||
let Test.7 : {} = Struct {};
|
||||
|
@ -12,4 +64,5 @@ procedure Test.0 ():
|
|||
let Test.1 : List [] = Array [];
|
||||
let Test.5 : {} = Struct {};
|
||||
let Test.4 : List {} = CallByName List.5 Test.1 Test.5;
|
||||
dec Test.1;
|
||||
ret Test.4;
|
||||
|
|
|
@ -1,7 +1,59 @@
|
|||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.577 : List [] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.629 : U64 = 0i64;
|
||||
let List.630 : U64 = CallByName List.6 List.166;
|
||||
let List.628 : List [] = CallByName List.95 List.166 List.167 List.168 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.642 : [] = CallByName Test.2 List.280;
|
||||
let List.641 : List [] = CallByName List.71 List.279 List.642;
|
||||
ret List.641;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.626 : List [] = CallByName List.68 List.277;
|
||||
let List.625 : List [] = CallByName List.18 List.275 List.626 List.276;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.639 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.639;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.638 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.644 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.644;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.643 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.643;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.631 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.633 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.633 then
|
||||
let List.637 : [] = CallByName List.66 List.169 List.172;
|
||||
let List.174 : List [] = CallByName List.278 List.170 List.637 List.171;
|
||||
let List.636 : U64 = 1i64;
|
||||
let List.635 : U64 = CallByName Num.51 List.172 List.636;
|
||||
jump List.631 List.169 List.174 List.171 List.635 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.631 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Test.2 (Test.3):
|
||||
let Test.7 : {} = Struct {};
|
||||
|
@ -12,4 +64,5 @@ procedure Test.0 ():
|
|||
let Test.1 : List [] = Array [];
|
||||
let Test.5 : {} = Struct {};
|
||||
let Test.4 : List [] = CallByName List.5 Test.1 Test.5;
|
||||
dec Test.1;
|
||||
ret Test.4;
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : [<r>C {}, C *self {{}, []}] = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : [<r>C {}, C *self {{}, []}] = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : [] = CallByName List.66 List.166 List.169;
|
||||
let List.171 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : [] = CallByName List.66 List.169 List.172;
|
||||
let List.174 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
inc #Derived_gen.13;
|
||||
jump List.628 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -163,4 +164,5 @@ procedure Test.0 ():
|
|||
let Test.35 : List [] = Array [];
|
||||
let Test.36 : {} = Struct {};
|
||||
let Test.34 : [<r>C {}, C *self {{}, []}] = CallByName Test.6 Test.35 Test.36;
|
||||
dec Test.35;
|
||||
ret Test.34;
|
||||
|
|
|
@ -2,53 +2,100 @@ procedure Bool.1 ():
|
|||
let Bool.24 : Int1 = false;
|
||||
ret Bool.24;
|
||||
|
||||
procedure List.2 (List.111, List.112):
|
||||
let List.591 : U64 = CallByName List.6 List.111;
|
||||
let List.587 : Int1 = CallByName Num.22 List.112 List.591;
|
||||
if List.587 then
|
||||
let List.589 : Str = CallByName List.66 List.111 List.112;
|
||||
inc List.589;
|
||||
dec List.111;
|
||||
let List.588 : [C {}, C Str] = TagId(1) List.589;
|
||||
ret List.588;
|
||||
else
|
||||
dec List.111;
|
||||
let List.586 : {} = Struct {};
|
||||
let List.585 : [C {}, C Str] = TagId(0) List.586;
|
||||
ret List.585;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.645 : U64 = 0i64;
|
||||
let List.646 : U64 = CallByName List.6 List.166;
|
||||
let List.644 : List Str = CallByName List.95 List.166 List.167 List.168 List.645 List.646;
|
||||
ret List.644;
|
||||
|
||||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.593 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.10 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.593;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.639 : U64 = CallByName List.6 List.114;
|
||||
let List.635 : Int1 = CallByName Num.22 List.115 List.639;
|
||||
if List.635 then
|
||||
let List.637 : Str = CallByName List.66 List.114 List.115;
|
||||
inc List.637;
|
||||
let List.636 : [C {}, C Str] = TagId(1) List.637;
|
||||
ret List.636;
|
||||
else
|
||||
let List.634 : {} = Struct {};
|
||||
let List.633 : [C {}, C Str] = TagId(0) List.634;
|
||||
ret List.633;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.658 : Str = CallByName Test.10 List.280;
|
||||
let List.657 : List Str = CallByName List.71 List.279 List.658;
|
||||
ret List.657;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.642 : List Str = CallByName List.68 List.277;
|
||||
let List.641 : List Str = CallByName List.18 List.275 List.642 List.276;
|
||||
ret List.641;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.592 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.592;
|
||||
let List.640 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.640;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.655 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.655;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.590 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
let List.638 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.9 (List.338):
|
||||
let List.584 : U64 = 0i64;
|
||||
let List.577 : [C {}, C Str] = CallByName List.2 List.338 List.584;
|
||||
let List.581 : U8 = 1i64;
|
||||
let List.582 : U8 = GetTagId List.577;
|
||||
let List.583 : Int1 = lowlevel Eq List.581 List.582;
|
||||
if List.583 then
|
||||
let List.339 : Str = UnionAtIndex (Id 1) (Index 0) List.577;
|
||||
let List.578 : [C {}, C Str] = TagId(1) List.339;
|
||||
ret List.578;
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.654 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.654;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.660 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.660;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.659 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.659;
|
||||
|
||||
procedure List.9 (List.386):
|
||||
let List.632 : U64 = 0i64;
|
||||
let List.625 : [C {}, C Str] = CallByName List.2 List.386 List.632;
|
||||
let List.629 : U8 = 1i64;
|
||||
let List.630 : U8 = GetTagId List.625;
|
||||
let List.631 : Int1 = lowlevel Eq List.629 List.630;
|
||||
if List.631 then
|
||||
let List.387 : Str = UnionAtIndex (Id 1) (Index 0) List.625;
|
||||
let List.626 : [C {}, C Str] = TagId(1) List.387;
|
||||
ret List.626;
|
||||
else
|
||||
dec List.577;
|
||||
let List.580 : {} = Struct {};
|
||||
let List.579 : [C {}, C Str] = TagId(0) List.580;
|
||||
ret List.579;
|
||||
dec List.625;
|
||||
let List.628 : {} = Struct {};
|
||||
let List.627 : [C {}, C Str] = TagId(0) List.628;
|
||||
ret List.627;
|
||||
|
||||
procedure List.95 (#Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8):
|
||||
joinpoint List.647 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.649 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.649 then
|
||||
let List.653 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = CallByName List.66 List.169 List.172;
|
||||
inc List.653;
|
||||
let List.174 : List Str = CallByName List.278 List.170 List.653 List.171;
|
||||
let List.652 : U64 = 1i64;
|
||||
let List.651 : U64 = CallByName Num.51 List.172 List.652;
|
||||
jump List.647 List.169 List.174 List.171 List.651 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.4;
|
||||
jump List.647 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
|
||||
procedure Result.5 (Result.11, Result.12):
|
||||
let Result.38 : U8 = 1i64;
|
||||
|
@ -78,7 +125,7 @@ procedure Test.2 (Test.6):
|
|||
let Test.31 : Int1 = lowlevel Eq Test.29 Test.30;
|
||||
if Test.31 then
|
||||
let Test.7 : [<r>C List *self, C *self] = UnionAtIndex (Id 1) (Index 0) Test.6;
|
||||
joinpoint #Derived_gen.1:
|
||||
joinpoint #Derived_gen.9:
|
||||
let Test.8 : Str = CallByName Test.2 Test.7;
|
||||
let Test.18 : Int1 = CallByName Bool.1;
|
||||
if Test.18 then
|
||||
|
@ -88,32 +135,34 @@ procedure Test.2 (Test.6):
|
|||
let Test.17 : Str = "foo";
|
||||
ret Test.17;
|
||||
in
|
||||
let #Derived_gen.2 : Int1 = lowlevel RefCountIsUnique Test.6;
|
||||
if #Derived_gen.2 then
|
||||
let #Derived_gen.10 : Int1 = lowlevel RefCountIsUnique Test.6;
|
||||
if #Derived_gen.10 then
|
||||
free Test.6;
|
||||
jump #Derived_gen.1;
|
||||
jump #Derived_gen.9;
|
||||
else
|
||||
inc Test.7;
|
||||
decref Test.6;
|
||||
jump #Derived_gen.1;
|
||||
jump #Derived_gen.9;
|
||||
else
|
||||
let Test.9 : List [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = UnionAtIndex (Id 0) (Index 0) Test.6;
|
||||
joinpoint #Derived_gen.3:
|
||||
joinpoint #Derived_gen.11:
|
||||
let Test.24 : {} = Struct {};
|
||||
let Test.23 : List Str = CallByName List.5 Test.9 Test.24;
|
||||
dec Test.9;
|
||||
let Test.21 : [C {}, C Str] = CallByName List.9 Test.23;
|
||||
dec Test.23;
|
||||
let Test.22 : Str = "foo";
|
||||
let Test.20 : Str = CallByName Result.5 Test.21 Test.22;
|
||||
ret Test.20;
|
||||
in
|
||||
let #Derived_gen.4 : Int1 = lowlevel RefCountIsUnique Test.6;
|
||||
if #Derived_gen.4 then
|
||||
let #Derived_gen.12 : Int1 = lowlevel RefCountIsUnique Test.6;
|
||||
if #Derived_gen.12 then
|
||||
free Test.6;
|
||||
jump #Derived_gen.3;
|
||||
jump #Derived_gen.11;
|
||||
else
|
||||
inc Test.9;
|
||||
decref Test.6;
|
||||
jump #Derived_gen.3;
|
||||
jump #Derived_gen.11;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.32 : List [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = Array [];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.577 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.577;
|
||||
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.625;
|
||||
|
||||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 41i64;
|
||||
|
|
|
@ -2,34 +2,35 @@ procedure Bool.2 ():
|
|||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Int1 = CallByName List.66 List.166 List.169;
|
||||
let List.171 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Int1 = CallByName List.66 List.169 List.172;
|
||||
let List.174 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
|
||||
inc #Derived_gen.5;
|
||||
jump List.628 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -162,6 +163,7 @@ procedure Test.0 ():
|
|||
let Test.23 : Int1 = CallByName Bool.2;
|
||||
let Test.22 : Int1 = CallByName Test.1 Test.23;
|
||||
let Test.16 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.18 Test.20 Test.21 Test.22;
|
||||
dec Test.20;
|
||||
let Test.18 : Str = "hello";
|
||||
let Test.19 : U8 = GetTagId Test.16;
|
||||
switch Test.19:
|
||||
|
|
|
@ -5,9 +5,11 @@ procedure Bool.2 ():
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.323 : Str = "\"";
|
||||
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
|
||||
dec Inspect.323;
|
||||
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
|
||||
let Inspect.319 : Str = "\"";
|
||||
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
|
||||
dec Inspect.319;
|
||||
ret Inspect.317;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -31,11 +33,11 @@ procedure Inspect.5 (Inspect.150):
|
|||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
|
||||
dec Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.321;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.323 : Str = "\"";
|
||||
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
|
||||
dec Inspect.323;
|
||||
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
|
||||
let Inspect.319 : Str = "\"";
|
||||
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
|
||||
dec Inspect.319;
|
||||
ret Inspect.317;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -27,11 +29,11 @@ procedure Inspect.5 (Inspect.150):
|
|||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
|
||||
dec Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.321;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
|
|
4
crates/compiler/test_mono/generated/dict.txt
generated
4
crates/compiler/test_mono/generated/dict.txt
generated
|
@ -26,8 +26,8 @@ procedure Dict.52 ():
|
|||
ret Dict.742;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.577 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.577;
|
||||
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.625;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
|
|
|
@ -2,34 +2,31 @@ procedure Bool.1 ():
|
|||
let Bool.23 : Int1 = false;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.111, List.112):
|
||||
let List.583 : U64 = CallByName List.6 List.111;
|
||||
let List.579 : Int1 = CallByName Num.22 List.112 List.583;
|
||||
if List.579 then
|
||||
let List.581 : {} = CallByName List.66 List.111 List.112;
|
||||
dec List.111;
|
||||
let List.580 : [C {}, C {}] = TagId(1) List.581;
|
||||
ret List.580;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.631 : U64 = CallByName List.6 List.114;
|
||||
let List.627 : Int1 = CallByName Num.22 List.115 List.631;
|
||||
if List.627 then
|
||||
let List.629 : {} = CallByName List.66 List.114 List.115;
|
||||
let List.628 : [C {}, C {}] = TagId(1) List.629;
|
||||
ret List.628;
|
||||
else
|
||||
dec List.111;
|
||||
let List.578 : {} = Struct {};
|
||||
let List.577 : [C {}, C {}] = TagId(0) List.578;
|
||||
ret List.577;
|
||||
let List.626 : {} = Struct {};
|
||||
let List.625 : [C {}, C {}] = TagId(0) List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.582 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.582;
|
||||
let List.630 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Test.2 (Test.5):
|
||||
dec Test.5;
|
||||
let Test.17 : Str = "bar";
|
||||
ret Test.17;
|
||||
|
||||
|
@ -38,6 +35,7 @@ procedure Test.0 ():
|
|||
joinpoint Test.15 Test.3:
|
||||
let Test.13 : U64 = 0i64;
|
||||
let Test.6 : [C {}, C {}] = CallByName List.2 Test.3 Test.13;
|
||||
dec Test.3;
|
||||
let Test.10 : U8 = 1i64;
|
||||
let Test.11 : U8 = GetTagId Test.6;
|
||||
let Test.12 : Int1 = lowlevel Eq Test.10 Test.11;
|
||||
|
@ -45,6 +43,7 @@ procedure Test.0 ():
|
|||
let Test.4 : {} = UnionAtIndex (Id 1) (Index 0) Test.6;
|
||||
let Test.8 : Str = "foo";
|
||||
let Test.7 : Str = CallByName Test.2 Test.8;
|
||||
dec Test.8;
|
||||
ret Test.7;
|
||||
else
|
||||
let Test.9 : Str = "bad!";
|
||||
|
|
18
crates/compiler/test_mono/generated/encode.txt
generated
18
crates/compiler/test_mono/generated/encode.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.127, List.128):
|
||||
let List.580 : U64 = 1i64;
|
||||
let List.578 : List U8 = CallByName List.70 List.127 List.580;
|
||||
let List.577 : List U8 = CallByName List.71 List.578 List.128;
|
||||
ret List.577;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.628 : U64 = 1i64;
|
||||
let List.626 : List U8 = CallByName List.70 List.130 List.628;
|
||||
let List.625 : List U8 = CallByName List.71 List.626 List.131;
|
||||
ret List.625;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.581 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.581;
|
||||
let List.629 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.629;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.579 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.579;
|
||||
let List.627 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
|
||||
procedure Test.23 (Test.24, Test.35, Test.22):
|
||||
let Test.37 : List U8 = CallByName List.4 Test.24 Test.22;
|
||||
|
|
|
@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.22 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure #Derived.5 (#Derived.6):
|
||||
|
@ -22,6 +23,7 @@ procedure #Derived.7 (#Derived.8, #Derived.9, #Derived.6):
|
|||
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
|
||||
let #Derived_gen.14 : List {Str, Str} = CallByName Test.22 #Derived_gen.15;
|
||||
let #Derived_gen.13 : List U8 = CallByName Encode.24 #Derived.8 #Derived_gen.14 #Derived.9;
|
||||
dec #Derived_gen.14;
|
||||
ret #Derived_gen.13;
|
||||
|
||||
procedure Encode.23 (Encode.100):
|
||||
|
@ -65,83 +67,85 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.604 : U64 = 0i64;
|
||||
let List.605 : U64 = CallByName List.6 List.163;
|
||||
let List.603 : List U8 = CallByName List.95 List.163 List.164 List.165 List.604 List.605;
|
||||
ret List.603;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.652 : U64 = 0i64;
|
||||
let List.653 : U64 = CallByName List.6 List.166;
|
||||
let List.651 : List U8 = CallByName List.95 List.166 List.167 List.168 List.652 List.653;
|
||||
ret List.651;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.625 : U64 = 1i64;
|
||||
let List.624 : List U8 = CallByName List.70 List.127 List.625;
|
||||
let List.623 : List U8 = CallByName List.71 List.624 List.128;
|
||||
ret List.623;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : List U8 = CallByName List.70 List.130 List.673;
|
||||
let List.671 : List U8 = CallByName List.71 List.672 List.131;
|
||||
ret List.671;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.628 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.628;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.613 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.613;
|
||||
let List.661 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.619 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.619;
|
||||
let List.667 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.617 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.617;
|
||||
let List.665 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.665;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.627 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
let List.675 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.95 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.71 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.71 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
inc #Derived_gen.26;
|
||||
jump List.628 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.95 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
|
||||
joinpoint List.606 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.608 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.608 then
|
||||
let List.612 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.612;
|
||||
let List.171 : List U8 = CallByName Test.71 List.167 List.612;
|
||||
let List.611 : U64 = 1i64;
|
||||
let List.610 : U64 = CallByName Num.51 List.169 List.611;
|
||||
jump List.606 List.166 List.171 List.168 List.610 List.170;
|
||||
joinpoint List.654 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.656 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.656 then
|
||||
let List.660 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.660;
|
||||
let List.174 : List U8 = CallByName Test.71 List.170 List.660;
|
||||
let List.659 : U64 = 1i64;
|
||||
let List.658 : U64 = CallByName Num.51 List.172 List.659;
|
||||
jump List.654 List.169 List.174 List.171 List.658 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.606 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
inc #Derived_gen.40;
|
||||
jump List.654 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.286 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.22 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Encode.23 (Encode.100):
|
||||
|
@ -38,53 +39,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.127 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.128;
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : List U8 = CallByName List.70 List.130 List.647;
|
||||
let List.645 : List U8 = CallByName List.71 List.646 List.131;
|
||||
ret List.645;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.593 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.593;
|
||||
let List.641 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.641;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.591 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.591;
|
||||
let List.639 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
let List.649 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.71 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.71 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
inc #Derived_gen.13;
|
||||
jump List.628 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -16,6 +16,7 @@ procedure #Derived.2 (#Derived.3, #Derived.4, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Test.22 #Derived_gen.5;
|
||||
let #Derived_gen.3 : List U8 = CallByName Encode.24 #Derived.3 #Derived_gen.4 #Derived.4;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Encode.23 (Encode.100):
|
||||
|
@ -45,53 +46,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.127 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.128;
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : List U8 = CallByName List.70 List.130 List.647;
|
||||
let List.645 : List U8 = CallByName List.71 List.646 List.131;
|
||||
ret List.645;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.593 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.593;
|
||||
let List.641 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.641;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.591 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.591;
|
||||
let List.639 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
let List.649 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.71 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.71 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
inc #Derived_gen.17;
|
||||
jump List.628 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -11,23 +11,23 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.587 : U64 = 1i64;
|
||||
let List.586 : List U8 = CallByName List.70 List.127 List.587;
|
||||
let List.585 : List U8 = CallByName List.71 List.586 List.128;
|
||||
ret List.585;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.635 : U64 = 1i64;
|
||||
let List.634 : List U8 = CallByName List.70 List.130 List.635;
|
||||
let List.633 : List U8 = CallByName List.71 List.634 List.131;
|
||||
ret List.633;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.581 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.581;
|
||||
let List.629 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.629;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.579 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.579;
|
||||
let List.627 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.589 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.589;
|
||||
let List.637 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.637;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -41,56 +41,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.603 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.603;
|
||||
let List.651 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.127 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.128;
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : List U8 = CallByName List.70 List.130 List.647;
|
||||
let List.645 : List U8 = CallByName List.71 List.646 List.131;
|
||||
ret List.645;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.593 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.593;
|
||||
let List.641 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.641;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.591 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.591;
|
||||
let List.639 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
let List.649 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.64 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.64 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
inc #Derived_gen.10;
|
||||
jump List.628 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -141,6 +142,7 @@ procedure Test.20 (Test.56):
|
|||
ret Test.297;
|
||||
|
||||
procedure Test.21 (Test.59, Test.60):
|
||||
inc Test.59;
|
||||
let Test.266 : {List Str, {}} = Struct {Test.59, Test.60};
|
||||
let Test.265 : {List Str, {}} = CallByName Encode.23 Test.266;
|
||||
ret Test.265;
|
||||
|
@ -154,6 +156,7 @@ procedure Test.24 (Test.78, Test.79):
|
|||
let Test.285 : Str = CallByName Test.20 Test.78;
|
||||
let Test.262 : List Str = CallByName List.13 Test.79 Test.285;
|
||||
let Test.261 : {List Str, {}} = CallByName Test.23 Test.262;
|
||||
dec Test.262;
|
||||
ret Test.261;
|
||||
|
||||
procedure Test.3 ():
|
||||
|
@ -187,6 +190,7 @@ procedure Test.61 (Test.62, Test.267, #Attr.12):
|
|||
let Test.276 : U64 = CallByName List.6 Test.59;
|
||||
let Test.63 : List U8 = CallByName Test.4 Test.62 Test.275 Test.276;
|
||||
let Test.269 : List U8 = CallByName List.18 Test.59 Test.63 Test.60;
|
||||
dec Test.59;
|
||||
ret Test.269;
|
||||
|
||||
procedure Test.64 (Test.65, Test.66, Test.60):
|
||||
|
|
|
@ -44,56 +44,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.603 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.603;
|
||||
let List.651 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.127 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.128;
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : List U8 = CallByName List.70 List.130 List.647;
|
||||
let List.645 : List U8 = CallByName List.71 List.646 List.131;
|
||||
ret List.645;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.593 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.593;
|
||||
let List.641 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.641;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.591 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.591;
|
||||
let List.639 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
let List.649 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.64 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.64 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
inc #Derived_gen.11;
|
||||
jump List.628 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -144,6 +145,7 @@ procedure Test.20 (Test.56):
|
|||
ret Test.301;
|
||||
|
||||
procedure Test.21 (Test.59, Test.60):
|
||||
inc Test.59;
|
||||
let Test.267 : {List Str, {}} = Struct {Test.59, Test.60};
|
||||
let Test.266 : {List Str, {}} = CallByName Encode.23 Test.267;
|
||||
ret Test.266;
|
||||
|
@ -157,6 +159,7 @@ procedure Test.24 (Test.78, Test.79):
|
|||
let Test.286 : Str = CallByName Test.20 Test.78;
|
||||
let Test.263 : List Str = CallByName List.13 Test.79 Test.286;
|
||||
let Test.262 : {List Str, {}} = CallByName Test.23 Test.263;
|
||||
dec Test.263;
|
||||
ret Test.262;
|
||||
|
||||
procedure Test.3 ():
|
||||
|
@ -190,6 +193,7 @@ procedure Test.61 (Test.62, Test.268, #Attr.12):
|
|||
let Test.277 : U64 = CallByName List.6 Test.59;
|
||||
let Test.63 : List U8 = CallByName Test.4 Test.62 Test.276 Test.277;
|
||||
let Test.270 : List U8 = CallByName List.18 Test.59 Test.63 Test.60;
|
||||
dec Test.59;
|
||||
ret Test.270;
|
||||
|
||||
procedure Test.64 (Test.65, Test.66, Test.60):
|
||||
|
|
2
crates/compiler/test_mono/generated/fst.txt
generated
2
crates/compiler/test_mono/generated/fst.txt
generated
|
@ -1,9 +1,9 @@
|
|||
procedure Test.1 (Test.2, Test.3):
|
||||
dec Test.3;
|
||||
ret Test.2;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.5 : List I64 = Array [1i64, 2i64, 3i64];
|
||||
let Test.6 : List I64 = Array [3i64, 2i64, 1i64];
|
||||
let Test.4 : List I64 = CallByName Test.1 Test.5 Test.6;
|
||||
dec Test.6;
|
||||
ret Test.4;
|
||||
|
|
|
@ -48,6 +48,7 @@ procedure Dict.10 (Dict.731, Dict.186, Dict.187):
|
|||
let #Derived_gen.67 : List {U32, U32} = StructAtIndex 0 Dict.731;
|
||||
dec #Derived_gen.67;
|
||||
let Dict.1108 : {Str, Int1} = CallByName List.18 Dict.185 Dict.186 Dict.187;
|
||||
dec Dict.185;
|
||||
ret Dict.1108;
|
||||
|
||||
procedure Dict.100 (Dict.544, Dict.545, Dict.546):
|
||||
|
@ -62,7 +63,6 @@ procedure Dict.100 (Dict.544, Dict.545, Dict.546):
|
|||
let Dict.1055 : U64 = CallByName Num.75 Dict.546 Dict.1056;
|
||||
let Dict.1054 : U64 = CallByName Num.51 Dict.1055 Dict.545;
|
||||
let Dict.1053 : U8 = CallByName Dict.22 Dict.544 Dict.1054;
|
||||
dec Dict.544;
|
||||
let Dict.549 : U64 = CallByName Num.133 Dict.1053;
|
||||
let Dict.1052 : U8 = 16i64;
|
||||
let Dict.1049 : U64 = CallByName Num.72 Dict.547 Dict.1052;
|
||||
|
@ -133,7 +133,6 @@ procedure Dict.4 (Dict.736):
|
|||
|
||||
procedure Dict.405 (Dict.406, Dict.847, Dict.408, Dict.404):
|
||||
let Dict.407 : Str = StructAtIndex 0 Dict.847;
|
||||
inc Dict.406;
|
||||
let Dict.852 : {U64, U32} = CallByName Dict.72 Dict.406 Dict.407 Dict.404;
|
||||
let Dict.409 : U64 = StructAtIndex 0 Dict.852;
|
||||
let Dict.410 : U32 = StructAtIndex 1 Dict.852;
|
||||
|
@ -189,6 +188,7 @@ procedure Dict.45 (#Derived_gen.42, #Derived_gen.43, #Derived_gen.44, #Derived_g
|
|||
let Dict.246 : U32 = CallByName Dict.55 Dict.231;
|
||||
jump Dict.743 Dict.228 Dict.229 Dict.245 Dict.246 Dict.232 Dict.233 Dict.234 Dict.235 Dict.236;
|
||||
in
|
||||
inc #Derived_gen.46;
|
||||
jump Dict.743 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50;
|
||||
|
||||
procedure Dict.48 ():
|
||||
|
@ -244,7 +244,6 @@ procedure Dict.66 (Dict.726):
|
|||
let Dict.884 : U64 = CallByName Dict.54;
|
||||
let Dict.843 : Int1 = CallByName Bool.7 Dict.384 Dict.884;
|
||||
if Dict.843 then
|
||||
inc Dict.383;
|
||||
let Dict.883 : U8 = 1i64;
|
||||
let Dict.387 : U8 = CallByName Num.75 Dict.386 Dict.883;
|
||||
let Dict.862 : {List {U32, U32}, U64} = CallByName Dict.67 Dict.387 Dict.385;
|
||||
|
@ -320,6 +319,7 @@ procedure Dict.73 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
|||
let Dict.855 : {U64, U32} = Struct {Dict.418, Dict.419};
|
||||
ret Dict.855;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump Dict.854 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Dict.74 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
|
@ -386,6 +386,7 @@ procedure Dict.8 (Dict.217, Dict.218, Dict.219):
|
|||
let Dict.226 : U32 = CallByName Dict.77 Dict.225;
|
||||
let Dict.227 : U64 = CallByName Dict.78 Dict.225 Dict.224;
|
||||
let Dict.742 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.45 Dict.220 Dict.221 Dict.227 Dict.226 Dict.218 Dict.219 Dict.222 Dict.223 Dict.224;
|
||||
dec Dict.218;
|
||||
ret Dict.742;
|
||||
in
|
||||
inc 2 Dict.217;
|
||||
|
@ -477,7 +478,6 @@ procedure Dict.89 (Dict.709, Dict.487):
|
|||
let Dict.1096 : U8 = 2i64;
|
||||
let Dict.490 : U64 = CallByName Num.72 Dict.1095 Dict.1096;
|
||||
let Dict.1094 : U64 = 0i64;
|
||||
inc 3 Dict.487;
|
||||
let Dict.1092 : U64 = CallByName Dict.99 Dict.487 Dict.1094;
|
||||
let Dict.1093 : U8 = 32i64;
|
||||
let Dict.1090 : U64 = CallByName Num.72 Dict.1092 Dict.1093;
|
||||
|
@ -505,7 +505,6 @@ procedure Dict.89 (Dict.709, Dict.487):
|
|||
let Dict.1040 : {U64, U64, U64} = Struct {Dict.1045, Dict.1046, Dict.485};
|
||||
jump Dict.1041 Dict.1040;
|
||||
else
|
||||
dec Dict.487;
|
||||
let Dict.1042 : U64 = 0i64;
|
||||
let Dict.1043 : U64 = 0i64;
|
||||
let Dict.1040 : {U64, U64, U64} = Struct {Dict.1042, Dict.1043, Dict.485};
|
||||
|
@ -524,7 +523,6 @@ procedure Dict.89 (Dict.709, Dict.487):
|
|||
|
||||
procedure Dict.90 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint Dict.927 Dict.493 Dict.494 Dict.495 Dict.496 Dict.497 Dict.498:
|
||||
inc 6 Dict.496;
|
||||
let Dict.1034 : U64 = CallByName Dict.98 Dict.496 Dict.497;
|
||||
let Dict.1035 : U64 = CallByName Dict.93;
|
||||
let Dict.1029 : U64 = CallByName Num.70 Dict.1034 Dict.1035;
|
||||
|
@ -568,9 +566,9 @@ procedure Dict.90 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.
|
|||
let Dict.1002 : U64 = CallByName Num.70 Dict.500 Dict.499;
|
||||
let Dict.504 : U64 = CallByName Num.70 Dict.501 Dict.1002;
|
||||
let Dict.979 : {U64, U64, U64} = CallByName Dict.91 Dict.504 Dict.496 Dict.503 Dict.502;
|
||||
dec Dict.496;
|
||||
ret Dict.979;
|
||||
else
|
||||
inc Dict.496;
|
||||
let Dict.977 : U64 = CallByName Num.70 Dict.500 Dict.499;
|
||||
let Dict.505 : U64 = CallByName Num.70 Dict.501 Dict.977;
|
||||
let Dict.976 : U64 = 16i64;
|
||||
|
@ -581,14 +579,15 @@ procedure Dict.90 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.
|
|||
let Dict.972 : U64 = CallByName Num.75 Dict.502 Dict.973;
|
||||
let Dict.931 : U64 = CallByName Num.51 Dict.972 Dict.503;
|
||||
let Dict.930 : U64 = CallByName Dict.98 Dict.496 Dict.931;
|
||||
dec Dict.496;
|
||||
let Dict.928 : {U64, U64, U64} = Struct {Dict.929, Dict.930, Dict.505};
|
||||
ret Dict.928;
|
||||
in
|
||||
inc #Derived_gen.9;
|
||||
jump Dict.927 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
|
||||
procedure Dict.91 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3):
|
||||
joinpoint Dict.980 Dict.506 Dict.507 Dict.508 Dict.509:
|
||||
inc 2 Dict.507;
|
||||
let Dict.1000 : U64 = CallByName Dict.98 Dict.507 Dict.508;
|
||||
let Dict.1001 : U64 = CallByName Dict.93;
|
||||
let Dict.995 : U64 = CallByName Num.70 Dict.1000 Dict.1001;
|
||||
|
@ -604,7 +603,6 @@ procedure Dict.91 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
|
|||
let Dict.992 : U64 = 16i64;
|
||||
let Dict.982 : Int1 = CallByName Num.23 Dict.511 Dict.992;
|
||||
if Dict.982 then
|
||||
inc Dict.507;
|
||||
let Dict.991 : U64 = 16i64;
|
||||
let Dict.990 : U64 = CallByName Num.75 Dict.511 Dict.991;
|
||||
let Dict.989 : U64 = CallByName Num.51 Dict.990 Dict.512;
|
||||
|
@ -613,11 +611,13 @@ procedure Dict.91 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
|
|||
let Dict.987 : U64 = CallByName Num.75 Dict.511 Dict.988;
|
||||
let Dict.986 : U64 = CallByName Num.51 Dict.987 Dict.512;
|
||||
let Dict.985 : U64 = CallByName Dict.98 Dict.507 Dict.986;
|
||||
dec Dict.507;
|
||||
let Dict.983 : {U64, U64, U64} = Struct {Dict.984, Dict.985, Dict.510};
|
||||
ret Dict.983;
|
||||
else
|
||||
jump Dict.980 Dict.510 Dict.507 Dict.512 Dict.511;
|
||||
in
|
||||
inc #Derived_gen.1;
|
||||
jump Dict.980 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3;
|
||||
|
||||
procedure Dict.92 ():
|
||||
|
@ -684,7 +684,6 @@ procedure Dict.98 (Dict.522, Dict.523):
|
|||
let Dict.952 : U64 = 7i64;
|
||||
let Dict.950 : U64 = CallByName Num.51 Dict.523 Dict.952;
|
||||
let Dict.949 : U8 = CallByName Dict.22 Dict.522 Dict.950;
|
||||
dec Dict.522;
|
||||
let Dict.531 : U64 = CallByName Num.133 Dict.949;
|
||||
let Dict.948 : U8 = 8i64;
|
||||
let Dict.947 : U64 = CallByName Num.72 Dict.525 Dict.948;
|
||||
|
@ -723,7 +722,6 @@ procedure Dict.99 (Dict.536, Dict.537):
|
|||
let Dict.1076 : U64 = 3i64;
|
||||
let Dict.1075 : U64 = CallByName Num.51 Dict.537 Dict.1076;
|
||||
let Dict.1074 : U8 = CallByName Dict.22 Dict.536 Dict.1075;
|
||||
dec Dict.536;
|
||||
let Dict.541 : U64 = CallByName Num.133 Dict.1074;
|
||||
let Dict.1073 : U8 = 8i64;
|
||||
let Dict.1072 : U64 = CallByName Num.72 Dict.539 Dict.1073;
|
||||
|
@ -739,6 +737,7 @@ procedure Dict.99 (Dict.536, Dict.537):
|
|||
procedure Hash.19 (Hash.42, Hash.43):
|
||||
let Hash.75 : List U8 = CallByName Str.12 Hash.43;
|
||||
let Hash.74 : {U64, U64} = CallByName Dict.89 Hash.42 Hash.75;
|
||||
dec Hash.75;
|
||||
ret Hash.74;
|
||||
|
||||
procedure Inspect.187 (Inspect.188, #Attr.12):
|
||||
|
@ -748,12 +747,15 @@ procedure Inspect.187 (Inspect.188, #Attr.12):
|
|||
let Inspect.183 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
|
||||
let Inspect.355 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.188 Inspect.355;
|
||||
dec Inspect.355;
|
||||
let Inspect.329 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = Struct {Inspect.183, Inspect.184, Inspect.185, Inspect.186};
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.189 Inspect.328 Inspect.329;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.201 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.189 (Inspect.190, #Attr.12):
|
||||
|
@ -762,6 +764,7 @@ procedure Inspect.189 (Inspect.190, #Attr.12):
|
|||
let Inspect.184 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Inspect.183 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
|
||||
let Inspect.354 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.190;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.190, Inspect.354};
|
||||
let Inspect.333 : {{}, {}} = Struct {Inspect.185, Inspect.186};
|
||||
let Inspect.331 : {Str, Int1} = CallByName Dict.10 Inspect.183 Inspect.332 Inspect.333;
|
||||
|
@ -775,17 +778,21 @@ procedure Inspect.191 (Inspect.334, Inspect.194, Inspect.195, #Attr.12):
|
|||
joinpoint Inspect.352 Inspect.196:
|
||||
let Inspect.349 : Str = CallByName Inspect.47 Inspect.194;
|
||||
let Inspect.347 : Str = CallByName Inspect.31 Inspect.349 Inspect.196;
|
||||
dec Inspect.349;
|
||||
let Inspect.348 : Str = ": ";
|
||||
let Inspect.341 : Str = CallByName Inspect.63 Inspect.347 Inspect.348;
|
||||
dec Inspect.348;
|
||||
let Inspect.342 : {I64, {}} = Struct {Inspect.195, Inspect.186};
|
||||
let Inspect.337 : Str = CallByName Inspect.197 Inspect.341 Inspect.342;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.199 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.193 then
|
||||
let Inspect.353 : Str = ", ";
|
||||
let Inspect.351 : Str = CallByName Inspect.63 Inspect.192 Inspect.353;
|
||||
dec Inspect.353;
|
||||
jump Inspect.352 Inspect.351;
|
||||
else
|
||||
jump Inspect.352 Inspect.192;
|
||||
|
@ -799,6 +806,7 @@ procedure Inspect.197 (Inspect.198, #Attr.12):
|
|||
|
||||
procedure Inspect.199 (Inspect.200):
|
||||
let Inspect.340 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.200;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.200, Inspect.340};
|
||||
ret Inspect.339;
|
||||
|
||||
|
@ -809,14 +817,17 @@ procedure Inspect.201 (Inspect.326):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.370 : Str = "\"";
|
||||
let Inspect.369 : Str = CallByName Inspect.63 Inspect.251 Inspect.370;
|
||||
dec Inspect.370;
|
||||
let Inspect.367 : Str = CallByName Inspect.63 Inspect.369 Inspect.249;
|
||||
let Inspect.368 : Str = "\"";
|
||||
let Inspect.366 : Str = CallByName Inspect.63 Inspect.367 Inspect.368;
|
||||
dec Inspect.368;
|
||||
ret Inspect.366;
|
||||
|
||||
procedure Inspect.278 (Inspect.279, Inspect.277):
|
||||
let Inspect.361 : Str = CallByName Num.96 Inspect.277;
|
||||
let Inspect.360 : Str = CallByName Inspect.63 Inspect.279 Inspect.361;
|
||||
dec Inspect.361;
|
||||
ret Inspect.360;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -874,174 +885,176 @@ procedure Inspect.57 (Inspect.277):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.11 (List.141, List.142):
|
||||
let List.639 : List {U32, U32} = CallByName List.68 List.142;
|
||||
let List.638 : List {U32, U32} = CallByName List.93 List.141 List.142 List.639;
|
||||
ret List.638;
|
||||
procedure List.11 (List.144, List.145):
|
||||
let List.687 : List {U32, U32} = CallByName List.68 List.145;
|
||||
let List.686 : List {U32, U32} = CallByName List.93 List.144 List.145 List.687;
|
||||
ret List.686;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.642 : U64 = 0i64;
|
||||
let List.643 : U64 = CallByName List.6 List.163;
|
||||
let List.641 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.642 List.643;
|
||||
ret List.641;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.690 : U64 = 0i64;
|
||||
let List.691 : U64 = CallByName List.6 List.166;
|
||||
let List.689 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.690 List.691;
|
||||
ret List.689;
|
||||
|
||||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.603 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.602 : List {U32, U32} = StructAtIndex 0 List.603;
|
||||
ret List.602;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.651 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.650 : List {U32, U32} = StructAtIndex 0 List.651;
|
||||
ret List.650;
|
||||
|
||||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.605 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.604 : List {Str, I64} = StructAtIndex 0 List.605;
|
||||
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.605;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.653 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.652 : List {Str, I64} = StructAtIndex 0 List.653;
|
||||
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.653;
|
||||
dec #Derived_gen.71;
|
||||
ret List.604;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.614 : U64 = 1i64;
|
||||
let List.612 : List {Str, I64} = CallByName List.70 List.127 List.614;
|
||||
let List.611 : List {Str, I64} = CallByName List.71 List.612 List.128;
|
||||
ret List.611;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.593 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.593;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.640 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.640;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.652 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.652;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.601 : U64 = CallByName List.6 List.116;
|
||||
let List.598 : Int1 = CallByName Num.22 List.117 List.601;
|
||||
if List.598 then
|
||||
let List.599 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.599;
|
||||
else
|
||||
let List.597 : {List {U32, U32}, {U32, U32}} = Struct {List.116, List.118};
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.662 : U64 = 1i64;
|
||||
let List.660 : List {Str, I64} = CallByName List.70 List.130 List.662;
|
||||
let List.659 : List {Str, I64} = CallByName List.71 List.660 List.131;
|
||||
ret List.659;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.610 : U64 = CallByName List.6 List.116;
|
||||
let List.607 : Int1 = CallByName Num.22 List.117 List.610;
|
||||
if List.607 then
|
||||
let List.608 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.608;
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.641 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.641;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.688 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.688;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.700 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.649 : U64 = CallByName List.6 List.119;
|
||||
let List.646 : Int1 = CallByName Num.22 List.120 List.649;
|
||||
if List.646 then
|
||||
let List.647 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.647;
|
||||
else
|
||||
let List.606 : {List {Str, I64}, {Str, I64}} = Struct {List.116, List.118};
|
||||
ret List.606;
|
||||
let List.645 : {List {U32, U32}, {U32, U32}} = Struct {List.119, List.121};
|
||||
ret List.645;
|
||||
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.658 : U64 = CallByName List.6 List.119;
|
||||
let List.655 : Int1 = CallByName Num.22 List.120 List.658;
|
||||
if List.655 then
|
||||
let List.656 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.656;
|
||||
else
|
||||
let List.654 : {List {Str, I64}, {Str, I64}} = Struct {List.119, List.121};
|
||||
ret List.654;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.651 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
let List.699 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.600 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.600;
|
||||
let List.648 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.648;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.609 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.609;
|
||||
let List.657 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.657;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.637 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.637;
|
||||
let List.685 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.685;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.615 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.615;
|
||||
let List.663 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.663;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.613 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.613;
|
||||
let List.661 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.634 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.634;
|
||||
let List.682 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.682;
|
||||
|
||||
procedure List.83 (List.172, List.173, List.174):
|
||||
let List.617 : U64 = 0i64;
|
||||
let List.618 : U64 = CallByName List.6 List.172;
|
||||
let List.616 : List {U32, U32} = CallByName List.96 List.172 List.173 List.174 List.617 List.618;
|
||||
ret List.616;
|
||||
procedure List.83 (List.175, List.176, List.177):
|
||||
let List.665 : U64 = 0i64;
|
||||
let List.666 : U64 = CallByName List.6 List.175;
|
||||
let List.664 : List {U32, U32} = CallByName List.96 List.175 List.176 List.177 List.665 List.666;
|
||||
ret List.664;
|
||||
|
||||
procedure List.93 (#Derived_gen.63, #Derived_gen.64, #Derived_gen.65):
|
||||
joinpoint List.628 List.143 List.144 List.145:
|
||||
let List.636 : U64 = 0i64;
|
||||
let List.630 : Int1 = CallByName Num.24 List.144 List.636;
|
||||
if List.630 then
|
||||
let List.635 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.75 List.144 List.635;
|
||||
let List.633 : List {U32, U32} = CallByName List.71 List.145 List.143;
|
||||
jump List.628 List.143 List.632 List.633;
|
||||
joinpoint List.676 List.146 List.147 List.148:
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.678 : Int1 = CallByName Num.24 List.147 List.684;
|
||||
if List.678 then
|
||||
let List.683 : U64 = 1i64;
|
||||
let List.680 : U64 = CallByName Num.75 List.147 List.683;
|
||||
let List.681 : List {U32, U32} = CallByName List.71 List.148 List.146;
|
||||
jump List.676 List.146 List.680 List.681;
|
||||
else
|
||||
ret List.145;
|
||||
ret List.148;
|
||||
in
|
||||
jump List.628 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
|
||||
jump List.676 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
|
||||
|
||||
procedure List.95 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.644 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.646 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.646 then
|
||||
let List.650 : {Str, I64} = CallByName List.66 List.166 List.169;
|
||||
inc List.650;
|
||||
let List.171 : {Str, Int1} = CallByName Dict.188 List.167 List.650 List.168;
|
||||
let List.649 : U64 = 1i64;
|
||||
let List.648 : U64 = CallByName Num.51 List.169 List.649;
|
||||
jump List.644 List.166 List.171 List.168 List.648 List.170;
|
||||
joinpoint List.692 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.694 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.694 then
|
||||
let List.698 : {Str, I64} = CallByName List.66 List.169 List.172;
|
||||
inc List.698;
|
||||
let List.174 : {Str, Int1} = CallByName Dict.188 List.170 List.698 List.171;
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.696 : U64 = CallByName Num.51 List.172 List.697;
|
||||
jump List.692 List.169 List.174 List.171 List.696 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.644 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
inc #Derived_gen.23;
|
||||
jump List.692 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure List.95 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, I64} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, I64} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
inc #Derived_gen.37;
|
||||
jump List.628 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
|
||||
procedure List.96 (#Derived_gen.56, #Derived_gen.57, #Derived_gen.58, #Derived_gen.59, #Derived_gen.60):
|
||||
joinpoint List.619 List.175 List.176 List.177 List.178 List.179:
|
||||
let List.621 : Int1 = CallByName Num.22 List.178 List.179;
|
||||
if List.621 then
|
||||
let List.625 : {Str, I64} = CallByName List.66 List.175 List.178;
|
||||
inc List.625;
|
||||
let List.180 : List {U32, U32} = CallByName Dict.405 List.176 List.625 List.178 List.177;
|
||||
let List.624 : U64 = 1i64;
|
||||
let List.623 : U64 = CallByName Num.51 List.178 List.624;
|
||||
jump List.619 List.175 List.180 List.177 List.623 List.179;
|
||||
joinpoint List.667 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.669 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.669 then
|
||||
let List.673 : {Str, I64} = CallByName List.66 List.178 List.181;
|
||||
inc List.673;
|
||||
let List.183 : List {U32, U32} = CallByName Dict.405 List.179 List.673 List.181 List.180;
|
||||
let List.672 : U64 = 1i64;
|
||||
let List.671 : U64 = CallByName Num.51 List.181 List.672;
|
||||
jump List.667 List.178 List.183 List.180 List.671 List.182;
|
||||
else
|
||||
dec List.175;
|
||||
ret List.176;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
jump List.619 #Derived_gen.56 #Derived_gen.57 #Derived_gen.58 #Derived_gen.59 #Derived_gen.60;
|
||||
inc #Derived_gen.56;
|
||||
jump List.667 #Derived_gen.56 #Derived_gen.57 #Derived_gen.58 #Derived_gen.59 #Derived_gen.60;
|
||||
|
||||
procedure Num.131 (#Attr.2):
|
||||
let Num.289 : U32 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -1187,5 +1200,6 @@ procedure Test.0 ():
|
|||
let Test.5 : {Str, I64} = Struct {Test.6, Test.7};
|
||||
let Test.3 : List {Str, I64} = Array [Test.4, Test.5];
|
||||
let Test.2 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.12 Test.3;
|
||||
dec Test.3;
|
||||
let Test.1 : Str = CallByName Inspect.33 Test.2;
|
||||
ret Test.1;
|
||||
|
|
|
@ -27,12 +27,15 @@ procedure Inspect.156 (Inspect.157, #Attr.12):
|
|||
let Inspect.153 : List I64 = StructAtIndex 0 #Attr.12;
|
||||
let Inspect.347 : Str = "[";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.157 Inspect.347;
|
||||
dec Inspect.347;
|
||||
let Inspect.329 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.158 Inspect.328 Inspect.329;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.167 Inspect.324;
|
||||
let Inspect.321 : Str = "]";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.158 (Inspect.159, #Attr.12):
|
||||
|
@ -40,8 +43,10 @@ procedure Inspect.158 (Inspect.159, #Attr.12):
|
|||
let Inspect.154 : {} = StructAtIndex 1 #Attr.12;
|
||||
let Inspect.153 : List I64 = StructAtIndex 0 #Attr.12;
|
||||
let Inspect.346 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.159;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.159, Inspect.346};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.153 Inspect.332 Inspect.155;
|
||||
dec Inspect.153;
|
||||
ret Inspect.331;
|
||||
|
||||
procedure Inspect.160 (Inspect.334, Inspect.163, Inspect.155):
|
||||
|
@ -52,17 +57,20 @@ procedure Inspect.160 (Inspect.334, Inspect.163, Inspect.155):
|
|||
let Inspect.337 : Str = CallByName Inspect.31 Inspect.341 Inspect.164;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.165 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.162 then
|
||||
let Inspect.345 : Str = ", ";
|
||||
let Inspect.343 : Str = CallByName Inspect.63 Inspect.161 Inspect.345;
|
||||
dec Inspect.345;
|
||||
jump Inspect.344 Inspect.343;
|
||||
else
|
||||
jump Inspect.344 Inspect.161;
|
||||
|
||||
procedure Inspect.165 (Inspect.166):
|
||||
let Inspect.340 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.166;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.166, Inspect.340};
|
||||
ret Inspect.339;
|
||||
|
||||
|
@ -73,6 +81,7 @@ procedure Inspect.167 (Inspect.326):
|
|||
procedure Inspect.278 (Inspect.279, Inspect.277):
|
||||
let Inspect.353 : Str = CallByName Num.96 Inspect.277;
|
||||
let Inspect.352 : Str = CallByName Inspect.63 Inspect.279 Inspect.353;
|
||||
dec Inspect.353;
|
||||
ret Inspect.352;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -102,6 +111,7 @@ procedure Inspect.39 (Inspect.301):
|
|||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.40 (Inspect.153, Inspect.154, Inspect.155):
|
||||
inc Inspect.153;
|
||||
let Inspect.316 : {List I64, {}, {}} = Struct {Inspect.153, Inspect.154, Inspect.155};
|
||||
let Inspect.315 : {List I64, {}, {}} = CallByName Inspect.30 Inspect.316;
|
||||
ret Inspect.315;
|
||||
|
@ -111,6 +121,7 @@ procedure Inspect.5 (Inspect.150):
|
|||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName #Derived.4 Inspect.308 Inspect.312;
|
||||
dec Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.57 (Inspect.277):
|
||||
|
@ -119,40 +130,40 @@ procedure Inspect.57 (Inspect.277):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : I64 = CallByName List.66 List.166 List.169;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.160 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : I64 = CallByName List.66 List.169 List.172;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.160 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
inc #Derived_gen.19;
|
||||
jump List.628 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.45 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure #Derived.4 (#Derived.5):
|
||||
|
@ -22,6 +23,7 @@ procedure #Derived.6 (#Derived.7, #Derived.5):
|
|||
let #Derived_gen.15 : List {Str, Str} = Array [#Derived_gen.16];
|
||||
let #Derived_gen.14 : List {Str, Str} = CallByName Inspect.45 #Derived_gen.15;
|
||||
let #Derived_gen.13 : Str = CallByName Inspect.31 #Derived_gen.14 #Derived.7;
|
||||
dec #Derived_gen.14;
|
||||
ret #Derived_gen.13;
|
||||
|
||||
procedure Bool.1 ():
|
||||
|
@ -35,25 +37,32 @@ procedure Bool.2 ():
|
|||
procedure Inspect.229 (Inspect.230, Inspect.228):
|
||||
let Inspect.352 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
|
||||
dec Inspect.352;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.229 (Inspect.230, Inspect.228):
|
||||
let Inspect.392 : Str = "{";
|
||||
let Inspect.368 : Str = CallByName Inspect.63 Inspect.230 Inspect.392;
|
||||
dec Inspect.392;
|
||||
let Inspect.364 : {Str, Int1} = CallByName Inspect.231 Inspect.368 Inspect.228;
|
||||
dec Inspect.368;
|
||||
let Inspect.365 : {} = Struct {};
|
||||
let Inspect.360 : Str = CallByName Inspect.243 Inspect.364;
|
||||
let Inspect.361 : Str = "}";
|
||||
let Inspect.359 : Str = CallByName Inspect.63 Inspect.360 Inspect.361;
|
||||
dec Inspect.361;
|
||||
ret Inspect.359;
|
||||
|
||||
procedure Inspect.231 (Inspect.232, Inspect.228):
|
||||
let Inspect.351 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.232;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
|
||||
|
@ -61,6 +70,7 @@ procedure Inspect.231 (Inspect.232, Inspect.228):
|
|||
|
||||
procedure Inspect.231 (Inspect.232, Inspect.228):
|
||||
let Inspect.391 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.232;
|
||||
let Inspect.372 : {Str, Int1} = Struct {Inspect.232, Inspect.391};
|
||||
let Inspect.373 : {} = Struct {};
|
||||
let Inspect.371 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.372 Inspect.373;
|
||||
|
@ -73,16 +83,20 @@ procedure Inspect.233 (Inspect.334, Inspect.335):
|
|||
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.349 Inspect.238:
|
||||
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
|
||||
dec Inspect.236;
|
||||
let Inspect.347 : Str = ": ";
|
||||
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
|
||||
dec Inspect.347;
|
||||
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.235 then
|
||||
let Inspect.350 : Str = ", ";
|
||||
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
|
||||
dec Inspect.350;
|
||||
jump Inspect.349 Inspect.348;
|
||||
else
|
||||
jump Inspect.349 Inspect.234;
|
||||
|
@ -94,16 +108,21 @@ procedure Inspect.233 (Inspect.334, Inspect.335):
|
|||
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.389 Inspect.238:
|
||||
let Inspect.386 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
|
||||
dec Inspect.236;
|
||||
let Inspect.387 : Str = ": ";
|
||||
let Inspect.381 : Str = CallByName Inspect.63 Inspect.386 Inspect.387;
|
||||
dec Inspect.387;
|
||||
let Inspect.377 : Str = CallByName Inspect.239 Inspect.381 Inspect.237;
|
||||
dec Inspect.237;
|
||||
let Inspect.378 : {} = Struct {};
|
||||
let Inspect.376 : {Str, Int1} = CallByName Inspect.241 Inspect.377;
|
||||
dec Inspect.377;
|
||||
ret Inspect.376;
|
||||
in
|
||||
if Inspect.235 then
|
||||
let Inspect.390 : Str = ", ";
|
||||
let Inspect.388 : Str = CallByName Inspect.63 Inspect.234 Inspect.390;
|
||||
dec Inspect.390;
|
||||
jump Inspect.389 Inspect.388;
|
||||
else
|
||||
jump Inspect.389 Inspect.234;
|
||||
|
@ -118,6 +137,7 @@ procedure Inspect.239 (Inspect.240, Inspect.237):
|
|||
|
||||
procedure Inspect.241 (Inspect.242):
|
||||
let Inspect.380 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.242;
|
||||
let Inspect.379 : {Str, Int1} = Struct {Inspect.242, Inspect.380};
|
||||
ret Inspect.379;
|
||||
|
||||
|
@ -128,9 +148,11 @@ procedure Inspect.243 (Inspect.326):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.401 : Str = "\"";
|
||||
let Inspect.400 : Str = CallByName Inspect.63 Inspect.251 Inspect.401;
|
||||
dec Inspect.401;
|
||||
let Inspect.398 : Str = CallByName Inspect.63 Inspect.400 Inspect.249;
|
||||
let Inspect.399 : Str = "\"";
|
||||
let Inspect.397 : Str = CallByName Inspect.63 Inspect.398 Inspect.399;
|
||||
dec Inspect.399;
|
||||
ret Inspect.397;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -194,71 +216,72 @@ procedure Inspect.5 (Inspect.150):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.363 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.363;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.590 : U64 = 0i64;
|
||||
let List.591 : U64 = CallByName List.6 List.163;
|
||||
let List.589 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.590 List.591;
|
||||
ret List.589;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.638 : U64 = 0i64;
|
||||
let List.639 : U64 = CallByName List.6 List.166;
|
||||
let List.637 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.638 List.639;
|
||||
ret List.637;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.600 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.600;
|
||||
let List.648 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.648;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.599 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.599;
|
||||
let List.647 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.647;
|
||||
|
||||
procedure List.95 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.592 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.594 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.594 then
|
||||
let List.598 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.598;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.233 List.167 List.598;
|
||||
let List.597 : U64 = 1i64;
|
||||
let List.596 : U64 = CallByName Num.51 List.169 List.597;
|
||||
jump List.592 List.166 List.171 List.168 List.596 List.170;
|
||||
joinpoint List.640 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.642 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.642 then
|
||||
let List.646 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.646;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.233 List.170 List.646;
|
||||
let List.645 : U64 = 1i64;
|
||||
let List.644 : U64 = CallByName Num.51 List.172 List.645;
|
||||
jump List.640 List.169 List.174 List.171 List.644 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.592 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
inc #Derived_gen.22;
|
||||
jump List.640 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
|
||||
procedure List.95 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.233 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.233 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47;
|
||||
inc #Derived_gen.43;
|
||||
jump List.628 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -14,6 +14,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
|
|||
let #Derived_gen.5 : List {[C I64, C Decimal], Str} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : List {[C I64, C Decimal], Str} = CallByName Inspect.45 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
|
@ -27,15 +28,19 @@ procedure Bool.2 ():
|
|||
procedure Inspect.229 (Inspect.230, Inspect.228):
|
||||
let Inspect.353 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.353;
|
||||
dec Inspect.353;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.231 (Inspect.232, Inspect.228):
|
||||
let Inspect.352 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.232;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.352};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
|
||||
|
@ -48,16 +53,20 @@ procedure Inspect.233 (Inspect.334, Inspect.335):
|
|||
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.350 Inspect.238:
|
||||
let Inspect.347 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
|
||||
dec Inspect.236;
|
||||
let Inspect.348 : Str = ": ";
|
||||
let Inspect.341 : Str = CallByName Inspect.63 Inspect.347 Inspect.348;
|
||||
dec Inspect.348;
|
||||
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.235 then
|
||||
let Inspect.351 : Str = ", ";
|
||||
let Inspect.349 : Str = CallByName Inspect.63 Inspect.234 Inspect.351;
|
||||
dec Inspect.351;
|
||||
jump Inspect.350 Inspect.349;
|
||||
else
|
||||
jump Inspect.350 Inspect.234;
|
||||
|
@ -68,6 +77,7 @@ procedure Inspect.239 (Inspect.240, Inspect.237):
|
|||
|
||||
procedure Inspect.241 (Inspect.242):
|
||||
let Inspect.340 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.242;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
|
||||
ret Inspect.339;
|
||||
|
||||
|
@ -79,12 +89,14 @@ procedure Inspect.278 (Inspect.279, #Attr.12):
|
|||
let Inspect.366 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.365 : Str = CallByName Num.96 Inspect.366;
|
||||
let Inspect.364 : Str = CallByName Inspect.63 Inspect.279 Inspect.365;
|
||||
dec Inspect.365;
|
||||
ret Inspect.364;
|
||||
|
||||
procedure Inspect.293 (Inspect.294, #Attr.12):
|
||||
let Inspect.360 : Decimal = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.359 : Str = CallByName Num.96 Inspect.360;
|
||||
let Inspect.358 : Str = CallByName Inspect.63 Inspect.294 Inspect.359;
|
||||
dec Inspect.359;
|
||||
ret Inspect.358;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -144,41 +156,41 @@ procedure Inspect.62 (Inspect.292):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {[C I64, C Decimal], Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.233 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {[C I64, C Decimal], Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.233 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
inc #Derived_gen.26;
|
||||
jump List.628 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -9,6 +9,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.45 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
|
@ -22,15 +23,19 @@ procedure Bool.2 ():
|
|||
procedure Inspect.229 (Inspect.230, Inspect.228):
|
||||
let Inspect.352 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
|
||||
dec Inspect.352;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.231 (Inspect.232, Inspect.228):
|
||||
let Inspect.351 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.232;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
|
||||
|
@ -43,16 +48,21 @@ procedure Inspect.233 (Inspect.334, Inspect.335):
|
|||
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.349 Inspect.238:
|
||||
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
|
||||
dec Inspect.236;
|
||||
let Inspect.347 : Str = ": ";
|
||||
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
|
||||
dec Inspect.347;
|
||||
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
|
||||
dec Inspect.237;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.235 then
|
||||
let Inspect.350 : Str = ", ";
|
||||
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
|
||||
dec Inspect.350;
|
||||
jump Inspect.349 Inspect.348;
|
||||
else
|
||||
jump Inspect.349 Inspect.234;
|
||||
|
@ -63,6 +73,7 @@ procedure Inspect.239 (Inspect.240, Inspect.237):
|
|||
|
||||
procedure Inspect.241 (Inspect.242):
|
||||
let Inspect.340 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.242;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
|
||||
ret Inspect.339;
|
||||
|
||||
|
@ -73,9 +84,11 @@ procedure Inspect.243 (Inspect.326):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.361 : Str = "\"";
|
||||
let Inspect.360 : Str = CallByName Inspect.63 Inspect.251 Inspect.361;
|
||||
dec Inspect.361;
|
||||
let Inspect.358 : Str = CallByName Inspect.63 Inspect.360 Inspect.249;
|
||||
let Inspect.359 : Str = "\"";
|
||||
let Inspect.357 : Str = CallByName Inspect.63 Inspect.358 Inspect.359;
|
||||
dec Inspect.359;
|
||||
ret Inspect.357;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -121,41 +134,41 @@ procedure Inspect.5 (Inspect.150):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.233 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.233 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
inc #Derived_gen.14;
|
||||
jump List.628 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -16,6 +16,7 @@ procedure #Derived.2 (#Derived.3, #Derived.1):
|
|||
let #Derived_gen.5 : List {Str, Str} = Array [#Derived_gen.6, #Derived_gen.7];
|
||||
let #Derived_gen.4 : List {Str, Str} = CallByName Inspect.45 #Derived_gen.5;
|
||||
let #Derived_gen.3 : Str = CallByName Inspect.31 #Derived_gen.4 #Derived.3;
|
||||
dec #Derived_gen.4;
|
||||
ret #Derived_gen.3;
|
||||
|
||||
procedure Bool.1 ():
|
||||
|
@ -29,15 +30,19 @@ procedure Bool.2 ():
|
|||
procedure Inspect.229 (Inspect.230, Inspect.228):
|
||||
let Inspect.352 : Str = "{";
|
||||
let Inspect.328 : Str = CallByName Inspect.63 Inspect.230 Inspect.352;
|
||||
dec Inspect.352;
|
||||
let Inspect.324 : {Str, Int1} = CallByName Inspect.231 Inspect.328 Inspect.228;
|
||||
dec Inspect.328;
|
||||
let Inspect.325 : {} = Struct {};
|
||||
let Inspect.320 : Str = CallByName Inspect.243 Inspect.324;
|
||||
let Inspect.321 : Str = "}";
|
||||
let Inspect.319 : Str = CallByName Inspect.63 Inspect.320 Inspect.321;
|
||||
dec Inspect.321;
|
||||
ret Inspect.319;
|
||||
|
||||
procedure Inspect.231 (Inspect.232, Inspect.228):
|
||||
let Inspect.351 : Int1 = CallByName Bool.1;
|
||||
inc Inspect.232;
|
||||
let Inspect.332 : {Str, Int1} = Struct {Inspect.232, Inspect.351};
|
||||
let Inspect.333 : {} = Struct {};
|
||||
let Inspect.331 : {Str, Int1} = CallByName List.18 Inspect.228 Inspect.332 Inspect.333;
|
||||
|
@ -50,16 +55,21 @@ procedure Inspect.233 (Inspect.334, Inspect.335):
|
|||
let Inspect.235 : Int1 = StructAtIndex 1 Inspect.334;
|
||||
joinpoint Inspect.349 Inspect.238:
|
||||
let Inspect.346 : Str = CallByName Inspect.63 Inspect.238 Inspect.236;
|
||||
dec Inspect.236;
|
||||
let Inspect.347 : Str = ": ";
|
||||
let Inspect.341 : Str = CallByName Inspect.63 Inspect.346 Inspect.347;
|
||||
dec Inspect.347;
|
||||
let Inspect.337 : Str = CallByName Inspect.239 Inspect.341 Inspect.237;
|
||||
dec Inspect.237;
|
||||
let Inspect.338 : {} = Struct {};
|
||||
let Inspect.336 : {Str, Int1} = CallByName Inspect.241 Inspect.337;
|
||||
dec Inspect.337;
|
||||
ret Inspect.336;
|
||||
in
|
||||
if Inspect.235 then
|
||||
let Inspect.350 : Str = ", ";
|
||||
let Inspect.348 : Str = CallByName Inspect.63 Inspect.234 Inspect.350;
|
||||
dec Inspect.350;
|
||||
jump Inspect.349 Inspect.348;
|
||||
else
|
||||
jump Inspect.349 Inspect.234;
|
||||
|
@ -70,6 +80,7 @@ procedure Inspect.239 (Inspect.240, Inspect.237):
|
|||
|
||||
procedure Inspect.241 (Inspect.242):
|
||||
let Inspect.340 : Int1 = CallByName Bool.2;
|
||||
inc Inspect.242;
|
||||
let Inspect.339 : {Str, Int1} = Struct {Inspect.242, Inspect.340};
|
||||
ret Inspect.339;
|
||||
|
||||
|
@ -80,9 +91,11 @@ procedure Inspect.243 (Inspect.326):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.361 : Str = "\"";
|
||||
let Inspect.360 : Str = CallByName Inspect.63 Inspect.251 Inspect.361;
|
||||
dec Inspect.361;
|
||||
let Inspect.358 : Str = CallByName Inspect.63 Inspect.360 Inspect.249;
|
||||
let Inspect.359 : Str = "\"";
|
||||
let Inspect.357 : Str = CallByName Inspect.63 Inspect.358 Inspect.359;
|
||||
dec Inspect.359;
|
||||
ret Inspect.357;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -128,41 +141,41 @@ procedure Inspect.5 (Inspect.150):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.323 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.323;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : {Str, Int1} = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : {Str, Int1} = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : {Str, Str} = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : {Str, Int1} = CallByName Inspect.233 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : {Str, Str} = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : {Str, Int1} = CallByName Inspect.233 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
inc #Derived_gen.18;
|
||||
jump List.628 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.323 : Str = "\"";
|
||||
let Inspect.322 : Str = CallByName Inspect.63 Inspect.251 Inspect.323;
|
||||
dec Inspect.323;
|
||||
let Inspect.318 : Str = CallByName Inspect.63 Inspect.322 Inspect.249;
|
||||
let Inspect.319 : Str = "\"";
|
||||
let Inspect.317 : Str = CallByName Inspect.63 Inspect.318 Inspect.319;
|
||||
dec Inspect.319;
|
||||
ret Inspect.317;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -27,11 +29,11 @@ procedure Inspect.5 (Inspect.150):
|
|||
let Inspect.309 : {} = Struct {};
|
||||
let Inspect.308 : Str = CallByName Inspect.39 Inspect.309;
|
||||
let Inspect.307 : Str = CallByName Inspect.250 Inspect.308 Inspect.312;
|
||||
dec Inspect.312;
|
||||
ret Inspect.307;
|
||||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.321 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.321;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
|
|
|
@ -11,6 +11,8 @@ procedure #Derived.3 (#Derived.4, #Derived.1):
|
|||
let #Derived_gen.9 : Str = CallByName Inspect.47 #Derived.1;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9];
|
||||
let #Derived_gen.6 : [C Str, C Str List Str] = CallByName Inspect.43 #Derived_gen.7 #Derived_gen.8;
|
||||
dec #Derived_gen.8;
|
||||
dec #Derived_gen.7;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
|
@ -20,6 +22,7 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
procedure Inspect.204 (Inspect.205, #Attr.12):
|
||||
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.345 : Str = CallByName Inspect.63 Inspect.205 Inspect.346;
|
||||
dec Inspect.346;
|
||||
ret Inspect.345;
|
||||
|
||||
procedure Inspect.206 (Inspect.207, #Attr.12):
|
||||
|
@ -27,10 +30,14 @@ procedure Inspect.206 (Inspect.207, #Attr.12):
|
|||
let Inspect.339 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.338 : Str = "(";
|
||||
let Inspect.337 : Str = CallByName Inspect.63 Inspect.207 Inspect.338;
|
||||
dec Inspect.338;
|
||||
let Inspect.325 : Str = CallByName Inspect.63 Inspect.337 Inspect.339;
|
||||
dec Inspect.339;
|
||||
let Inspect.321 : Str = CallByName Inspect.208 Inspect.325 Inspect.340;
|
||||
dec Inspect.340;
|
||||
let Inspect.322 : Str = ")";
|
||||
let Inspect.320 : Str = CallByName Inspect.63 Inspect.321 Inspect.322;
|
||||
dec Inspect.322;
|
||||
ret Inspect.320;
|
||||
|
||||
procedure Inspect.208 (Inspect.209, Inspect.203):
|
||||
|
@ -41,6 +48,7 @@ procedure Inspect.208 (Inspect.209, Inspect.203):
|
|||
procedure Inspect.210 (Inspect.211, Inspect.212):
|
||||
let Inspect.336 : Str = " ";
|
||||
let Inspect.331 : Str = CallByName Inspect.63 Inspect.211 Inspect.336;
|
||||
dec Inspect.336;
|
||||
let Inspect.330 : Str = CallByName Inspect.213 Inspect.331 Inspect.212;
|
||||
ret Inspect.330;
|
||||
|
||||
|
@ -51,9 +59,11 @@ procedure Inspect.213 (Inspect.214, Inspect.212):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.355 : Str = "\"";
|
||||
let Inspect.354 : Str = CallByName Inspect.63 Inspect.251 Inspect.355;
|
||||
dec Inspect.355;
|
||||
let Inspect.352 : Str = CallByName Inspect.63 Inspect.354 Inspect.249;
|
||||
let Inspect.353 : Str = "\"";
|
||||
let Inspect.351 : Str = CallByName Inspect.63 Inspect.352 Inspect.353;
|
||||
dec Inspect.353;
|
||||
ret Inspect.351;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -91,14 +101,15 @@ procedure Inspect.39 (Inspect.301):
|
|||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.43 (Inspect.202, Inspect.203):
|
||||
inc Inspect.203;
|
||||
let Inspect.341 : Int1 = CallByName List.1 Inspect.203;
|
||||
if Inspect.341 then
|
||||
dec Inspect.203;
|
||||
inc Inspect.202;
|
||||
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.202;
|
||||
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
|
||||
ret Inspect.342;
|
||||
else
|
||||
inc Inspect.203;
|
||||
inc Inspect.202;
|
||||
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
|
||||
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
|
||||
ret Inspect.316;
|
||||
|
@ -116,48 +127,48 @@ procedure Inspect.5 (Inspect.150):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.324 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.324;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.1 (List.110):
|
||||
let List.590 : U64 = CallByName List.6 List.110;
|
||||
dec List.110;
|
||||
let List.591 : U64 = 0i64;
|
||||
let List.589 : Int1 = CallByName Bool.11 List.590 List.591;
|
||||
ret List.589;
|
||||
procedure List.1 (List.113):
|
||||
let List.638 : U64 = CallByName List.6 List.113;
|
||||
let List.639 : U64 = 0i64;
|
||||
let List.637 : Int1 = CallByName Bool.11 List.638 List.639;
|
||||
ret List.637;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : Str = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : Str = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : Str = CallByName Inspect.210 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : Str = CallByName Inspect.210 List.170 List.634;
|
||||
dec List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
inc #Derived_gen.14;
|
||||
jump List.628 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -14,6 +14,8 @@ procedure #Derived.4 (#Derived.5, #Derived.1):
|
|||
let #Derived_gen.10 : Str = CallByName Inspect.47 #Derived.3;
|
||||
let #Derived_gen.8 : List Str = Array [#Derived_gen.9, #Derived_gen.10];
|
||||
let #Derived_gen.6 : [C Str, C Str List Str] = CallByName Inspect.43 #Derived_gen.7 #Derived_gen.8;
|
||||
dec #Derived_gen.8;
|
||||
dec #Derived_gen.7;
|
||||
jump #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure Bool.11 (#Attr.2, #Attr.3):
|
||||
|
@ -23,6 +25,7 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
procedure Inspect.204 (Inspect.205, #Attr.12):
|
||||
let Inspect.346 : Str = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Inspect.345 : Str = CallByName Inspect.63 Inspect.205 Inspect.346;
|
||||
dec Inspect.346;
|
||||
ret Inspect.345;
|
||||
|
||||
procedure Inspect.206 (Inspect.207, #Attr.12):
|
||||
|
@ -30,10 +33,14 @@ procedure Inspect.206 (Inspect.207, #Attr.12):
|
|||
let Inspect.339 : Str = UnionAtIndex (Id 1) (Index 0) #Attr.12;
|
||||
let Inspect.338 : Str = "(";
|
||||
let Inspect.337 : Str = CallByName Inspect.63 Inspect.207 Inspect.338;
|
||||
dec Inspect.338;
|
||||
let Inspect.325 : Str = CallByName Inspect.63 Inspect.337 Inspect.339;
|
||||
dec Inspect.339;
|
||||
let Inspect.321 : Str = CallByName Inspect.208 Inspect.325 Inspect.340;
|
||||
dec Inspect.340;
|
||||
let Inspect.322 : Str = ")";
|
||||
let Inspect.320 : Str = CallByName Inspect.63 Inspect.321 Inspect.322;
|
||||
dec Inspect.322;
|
||||
ret Inspect.320;
|
||||
|
||||
procedure Inspect.208 (Inspect.209, Inspect.203):
|
||||
|
@ -44,6 +51,7 @@ procedure Inspect.208 (Inspect.209, Inspect.203):
|
|||
procedure Inspect.210 (Inspect.211, Inspect.212):
|
||||
let Inspect.336 : Str = " ";
|
||||
let Inspect.331 : Str = CallByName Inspect.63 Inspect.211 Inspect.336;
|
||||
dec Inspect.336;
|
||||
let Inspect.330 : Str = CallByName Inspect.213 Inspect.331 Inspect.212;
|
||||
ret Inspect.330;
|
||||
|
||||
|
@ -54,9 +62,11 @@ procedure Inspect.213 (Inspect.214, Inspect.212):
|
|||
procedure Inspect.250 (Inspect.251, Inspect.249):
|
||||
let Inspect.355 : Str = "\"";
|
||||
let Inspect.354 : Str = CallByName Inspect.63 Inspect.251 Inspect.355;
|
||||
dec Inspect.355;
|
||||
let Inspect.352 : Str = CallByName Inspect.63 Inspect.354 Inspect.249;
|
||||
let Inspect.353 : Str = "\"";
|
||||
let Inspect.351 : Str = CallByName Inspect.63 Inspect.352 Inspect.353;
|
||||
dec Inspect.353;
|
||||
ret Inspect.351;
|
||||
|
||||
procedure Inspect.30 (Inspect.147):
|
||||
|
@ -94,14 +104,15 @@ procedure Inspect.39 (Inspect.301):
|
|||
ret Inspect.311;
|
||||
|
||||
procedure Inspect.43 (Inspect.202, Inspect.203):
|
||||
inc Inspect.203;
|
||||
let Inspect.341 : Int1 = CallByName List.1 Inspect.203;
|
||||
if Inspect.341 then
|
||||
dec Inspect.203;
|
||||
inc Inspect.202;
|
||||
let Inspect.343 : [C Str, C Str List Str] = TagId(0) Inspect.202;
|
||||
let Inspect.342 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.343;
|
||||
ret Inspect.342;
|
||||
else
|
||||
inc Inspect.203;
|
||||
inc Inspect.202;
|
||||
let Inspect.317 : [C Str, C Str List Str] = TagId(1) Inspect.202 Inspect.203;
|
||||
let Inspect.316 : [C Str, C Str List Str] = CallByName Inspect.30 Inspect.317;
|
||||
ret Inspect.316;
|
||||
|
@ -119,48 +130,48 @@ procedure Inspect.5 (Inspect.150):
|
|||
|
||||
procedure Inspect.63 (Inspect.300, Inspect.296):
|
||||
let Inspect.324 : Str = CallByName Str.3 Inspect.300 Inspect.296;
|
||||
dec Inspect.296;
|
||||
ret Inspect.324;
|
||||
|
||||
procedure Inspect.64 (Inspect.302):
|
||||
ret Inspect.302;
|
||||
|
||||
procedure List.1 (List.110):
|
||||
let List.590 : U64 = CallByName List.6 List.110;
|
||||
dec List.110;
|
||||
let List.591 : U64 = 0i64;
|
||||
let List.589 : Int1 = CallByName Bool.11 List.590 List.591;
|
||||
ret List.589;
|
||||
procedure List.1 (List.113):
|
||||
let List.638 : U64 = CallByName List.6 List.113;
|
||||
let List.639 : U64 = 0i64;
|
||||
let List.637 : Int1 = CallByName Bool.11 List.638 List.639;
|
||||
ret List.637;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : Str = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : Str = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : Str = CallByName Inspect.210 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : Str = CallByName Inspect.210 List.170 List.634;
|
||||
dec List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
inc #Derived_gen.13;
|
||||
jump List.628 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.577 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.577;
|
||||
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.625;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -6,42 +6,40 @@ procedure Bool.2 ():
|
|||
let Bool.23 : Int1 = true;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.111, List.112):
|
||||
let List.591 : U64 = CallByName List.6 List.111;
|
||||
let List.587 : Int1 = CallByName Num.22 List.112 List.591;
|
||||
if List.587 then
|
||||
let List.589 : I64 = CallByName List.66 List.111 List.112;
|
||||
dec List.111;
|
||||
let List.588 : [C {}, C I64] = TagId(1) List.589;
|
||||
ret List.588;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.639 : U64 = CallByName List.6 List.114;
|
||||
let List.635 : Int1 = CallByName Num.22 List.115 List.639;
|
||||
if List.635 then
|
||||
let List.637 : I64 = CallByName List.66 List.114 List.115;
|
||||
let List.636 : [C {}, C I64] = TagId(1) List.637;
|
||||
ret List.636;
|
||||
else
|
||||
dec List.111;
|
||||
let List.586 : {} = Struct {};
|
||||
let List.585 : [C {}, C I64] = TagId(0) List.586;
|
||||
ret List.585;
|
||||
let List.634 : {} = Struct {};
|
||||
let List.633 : [C {}, C I64] = TagId(0) List.634;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.592 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.592;
|
||||
let List.640 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.640;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.590 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.590;
|
||||
let List.638 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.9 (List.338):
|
||||
let List.584 : U64 = 0i64;
|
||||
let List.577 : [C {}, C I64] = CallByName List.2 List.338 List.584;
|
||||
let List.581 : U8 = 1i64;
|
||||
let List.582 : U8 = GetTagId List.577;
|
||||
let List.583 : Int1 = lowlevel Eq List.581 List.582;
|
||||
if List.583 then
|
||||
let List.339 : I64 = UnionAtIndex (Id 1) (Index 0) List.577;
|
||||
let List.578 : [C Int1, C I64] = TagId(1) List.339;
|
||||
ret List.578;
|
||||
procedure List.9 (List.386):
|
||||
let List.632 : U64 = 0i64;
|
||||
let List.625 : [C {}, C I64] = CallByName List.2 List.386 List.632;
|
||||
let List.629 : U8 = 1i64;
|
||||
let List.630 : U8 = GetTagId List.625;
|
||||
let List.631 : Int1 = lowlevel Eq List.629 List.630;
|
||||
if List.631 then
|
||||
let List.387 : I64 = UnionAtIndex (Id 1) (Index 0) List.625;
|
||||
let List.626 : [C Int1, C I64] = TagId(1) List.387;
|
||||
ret List.626;
|
||||
else
|
||||
let List.580 : Int1 = true;
|
||||
let List.579 : [C Int1, C I64] = TagId(0) List.580;
|
||||
ret List.579;
|
||||
let List.628 : Int1 = true;
|
||||
let List.627 : [C Int1, C I64] = TagId(0) List.628;
|
||||
ret List.627;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -57,7 +55,6 @@ procedure Str.42 (#Attr.2):
|
|||
|
||||
procedure Str.64 (Str.189):
|
||||
let Str.190 : {I64, U8} = CallByName Str.42 Str.189;
|
||||
dec Str.189;
|
||||
let Str.242 : U8 = StructAtIndex 1 Str.190;
|
||||
let Str.243 : U8 = 0i64;
|
||||
let Str.239 : Int1 = CallByName Bool.11 Str.242 Str.243;
|
||||
|
@ -75,8 +72,10 @@ procedure Test.0 ():
|
|||
if Test.3 then
|
||||
let Test.5 : List I64 = Array [];
|
||||
let Test.4 : [C Int1, C I64] = CallByName List.9 Test.5;
|
||||
dec Test.5;
|
||||
ret Test.4;
|
||||
else
|
||||
let Test.2 : Str = "";
|
||||
let Test.1 : [C Int1, C I64] = CallByName Str.27 Test.2;
|
||||
dec Test.2;
|
||||
ret Test.1;
|
||||
|
|
195
crates/compiler/test_mono/generated/issue_4770.txt
generated
195
crates/compiler/test_mono/generated/issue_4770.txt
generated
|
@ -6,92 +6,137 @@ procedure Bool.2 ():
|
|||
let Bool.24 : Int1 = true;
|
||||
ret Bool.24;
|
||||
|
||||
procedure List.107 (List.491, List.492, List.493):
|
||||
let List.591 : U64 = 0i64;
|
||||
let List.592 : U64 = CallByName List.6 List.491;
|
||||
let List.590 : [C {}, C {}] = CallByName List.80 List.491 List.492 List.493 List.591 List.592;
|
||||
ret List.590;
|
||||
procedure List.100 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6):
|
||||
joinpoint List.663 List.285 List.286 List.287 List.288 List.289 List.290:
|
||||
let List.665 : Int1 = CallByName Num.22 List.289 List.290;
|
||||
if List.665 then
|
||||
let List.671 : [<r>C I64, C List *self] = CallByName List.66 List.285 List.289;
|
||||
inc List.671;
|
||||
let List.672 : [<r>C I64, C List *self] = CallByName List.66 List.286 List.289;
|
||||
inc List.672;
|
||||
let List.291 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.671 List.672;
|
||||
let List.667 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.287 List.291;
|
||||
let List.669 : U64 = 1i64;
|
||||
let List.668 : U64 = CallByName Num.51 List.289 List.669;
|
||||
jump List.663 List.285 List.286 List.667 List.288 List.668 List.290;
|
||||
else
|
||||
dec List.286;
|
||||
dec List.285;
|
||||
ret List.287;
|
||||
in
|
||||
inc #Derived_gen.1;
|
||||
inc #Derived_gen.2;
|
||||
jump List.663 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6;
|
||||
|
||||
procedure List.23 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.612 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListMap2 { xs: `#Attr.#arg1`, ys: `#Attr.#arg2` } #Attr.2 #Attr.3 Test.15 #Attr.4;
|
||||
decref #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.612;
|
||||
procedure List.110 (List.539, List.540, List.541):
|
||||
let List.639 : U64 = 0i64;
|
||||
let List.640 : U64 = CallByName List.6 List.539;
|
||||
let List.638 : [C {}, C {}] = CallByName List.80 List.539 List.540 List.541 List.639 List.640;
|
||||
ret List.638;
|
||||
|
||||
procedure List.239 (List.579, List.240, List.238):
|
||||
let List.609 : Int1 = CallByName Test.1 List.240;
|
||||
if List.609 then
|
||||
let List.611 : {} = Struct {};
|
||||
let List.610 : [C {}, C {}] = TagId(1) List.611;
|
||||
ret List.610;
|
||||
procedure List.23 (List.281, List.282, List.283):
|
||||
let List.675 : U64 = CallByName List.6 List.281;
|
||||
let List.676 : U64 = CallByName List.6 List.282;
|
||||
let List.284 : U64 = CallByName Num.148 List.675 List.676;
|
||||
let List.661 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.284;
|
||||
let List.662 : U64 = 0i64;
|
||||
let List.660 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.100 List.281 List.282 List.661 List.283 List.662 List.284;
|
||||
ret List.660;
|
||||
|
||||
procedure List.242 (List.627, List.243, List.241):
|
||||
let List.657 : Int1 = CallByName Test.1 List.243;
|
||||
if List.657 then
|
||||
let List.659 : {} = Struct {};
|
||||
let List.658 : [C {}, C {}] = TagId(1) List.659;
|
||||
ret List.658;
|
||||
else
|
||||
let List.608 : {} = Struct {};
|
||||
let List.607 : [C {}, C {}] = TagId(0) List.608;
|
||||
ret List.607;
|
||||
let List.656 : {} = Struct {};
|
||||
let List.655 : [C {}, C {}] = TagId(0) List.656;
|
||||
ret List.655;
|
||||
|
||||
procedure List.56 (List.237, List.238):
|
||||
let List.588 : {} = Struct {};
|
||||
let List.580 : [C {}, C {}] = CallByName List.107 List.237 List.588 List.238;
|
||||
let List.585 : U8 = 1i64;
|
||||
let List.586 : U8 = GetTagId List.580;
|
||||
let List.587 : Int1 = lowlevel Eq List.585 List.586;
|
||||
if List.587 then
|
||||
let List.581 : Int1 = CallByName Bool.2;
|
||||
ret List.581;
|
||||
procedure List.56 (List.240, List.241):
|
||||
let List.636 : {} = Struct {};
|
||||
let List.628 : [C {}, C {}] = CallByName List.110 List.240 List.636 List.241;
|
||||
let List.633 : U8 = 1i64;
|
||||
let List.634 : U8 = GetTagId List.628;
|
||||
let List.635 : Int1 = lowlevel Eq List.633 List.634;
|
||||
if List.635 then
|
||||
let List.629 : Int1 = CallByName Bool.2;
|
||||
ret List.629;
|
||||
else
|
||||
let List.582 : Int1 = CallByName Bool.1;
|
||||
ret List.582;
|
||||
let List.630 : Int1 = CallByName Bool.1;
|
||||
ret List.630;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.578 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.578;
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.606 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.606;
|
||||
let List.654 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.654;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.605 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.605;
|
||||
let List.653 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.653;
|
||||
|
||||
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
|
||||
joinpoint List.593 List.494 List.495 List.496 List.497 List.498:
|
||||
let List.595 : Int1 = CallByName Num.22 List.497 List.498;
|
||||
if List.595 then
|
||||
let List.604 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.494 List.497;
|
||||
inc List.604;
|
||||
let List.596 : [C {}, C {}] = CallByName List.239 List.495 List.604 List.496;
|
||||
let List.601 : U8 = 1i64;
|
||||
let List.602 : U8 = GetTagId List.596;
|
||||
let List.603 : Int1 = lowlevel Eq List.601 List.602;
|
||||
if List.603 then
|
||||
let List.499 : {} = UnionAtIndex (Id 1) (Index 0) List.596;
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : U64 = CallByName Num.51 List.497 List.599;
|
||||
jump List.593 List.494 List.499 List.496 List.598 List.498;
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.673 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.674 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.674;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.670 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
|
||||
procedure List.80 (#Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint List.641 List.542 List.543 List.544 List.545 List.546:
|
||||
let List.643 : Int1 = CallByName Num.22 List.545 List.546;
|
||||
if List.643 then
|
||||
let List.652 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.542 List.545;
|
||||
inc List.652;
|
||||
let List.644 : [C {}, C {}] = CallByName List.242 List.543 List.652 List.544;
|
||||
let List.649 : U8 = 1i64;
|
||||
let List.650 : U8 = GetTagId List.644;
|
||||
let List.651 : Int1 = lowlevel Eq List.649 List.650;
|
||||
if List.651 then
|
||||
let List.547 : {} = UnionAtIndex (Id 1) (Index 0) List.644;
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : U64 = CallByName Num.51 List.545 List.647;
|
||||
jump List.641 List.542 List.547 List.544 List.646 List.546;
|
||||
else
|
||||
dec List.494;
|
||||
let List.500 : {} = UnionAtIndex (Id 0) (Index 0) List.596;
|
||||
let List.600 : [C {}, C {}] = TagId(0) List.500;
|
||||
ret List.600;
|
||||
dec List.542;
|
||||
let List.548 : {} = UnionAtIndex (Id 0) (Index 0) List.644;
|
||||
let List.648 : [C {}, C {}] = TagId(0) List.548;
|
||||
ret List.648;
|
||||
else
|
||||
dec List.494;
|
||||
let List.594 : [C {}, C {}] = TagId(1) List.495;
|
||||
ret List.594;
|
||||
dec List.542;
|
||||
let List.642 : [C {}, C {}] = TagId(1) List.543;
|
||||
ret List.642;
|
||||
in
|
||||
jump List.593 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
|
||||
inc #Derived_gen.7;
|
||||
jump List.641 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
|
||||
procedure Num.148 (Num.225, Num.226):
|
||||
let Num.288 : Int1 = CallByName Num.22 Num.225 Num.226;
|
||||
if Num.288 then
|
||||
ret Num.225;
|
||||
else
|
||||
ret Num.226;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.286;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
|
||||
procedure Test.1 (#Derived_gen.0):
|
||||
joinpoint Test.26 Test.6:
|
||||
|
@ -110,17 +155,17 @@ procedure Test.1 (#Derived_gen.0):
|
|||
let Test.49 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
dec Test.50;
|
||||
let Test.10 : I64 = UnionAtIndex (Id 0) (Index 0) Test.49;
|
||||
joinpoint #Derived_gen.6:
|
||||
joinpoint #Derived_gen.12:
|
||||
let Test.27 : Int1 = CallByName Num.22 Test.8 Test.10;
|
||||
ret Test.27;
|
||||
in
|
||||
let #Derived_gen.7 : Int1 = lowlevel RefCountIsUnique Test.49;
|
||||
if #Derived_gen.7 then
|
||||
let #Derived_gen.13 : Int1 = lowlevel RefCountIsUnique Test.49;
|
||||
if #Derived_gen.13 then
|
||||
free Test.49;
|
||||
jump #Derived_gen.6;
|
||||
jump #Derived_gen.12;
|
||||
else
|
||||
decref Test.49;
|
||||
jump #Derived_gen.6;
|
||||
jump #Derived_gen.12;
|
||||
else
|
||||
let Test.39 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
let Test.42 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
|
@ -136,16 +181,16 @@ procedure Test.1 (#Derived_gen.0):
|
|||
if Test.64 then
|
||||
let Test.52 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
let Test.12 : List [<r>C I64, C List *self] = UnionAtIndex (Id 1) (Index 0) Test.52;
|
||||
inc 2 Test.12;
|
||||
inc Test.12;
|
||||
let Test.51 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
dec Test.52;
|
||||
let Test.14 : List [<r>C I64, C List *self] = UnionAtIndex (Id 1) (Index 0) Test.51;
|
||||
inc Test.14;
|
||||
joinpoint #Derived_gen.8:
|
||||
joinpoint #Derived_gen.14:
|
||||
let Test.35 : {} = Struct {};
|
||||
let Test.33 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.23 Test.12 Test.14 Test.35;
|
||||
let Test.34 : {} = Struct {};
|
||||
let Test.29 : Int1 = CallByName List.56 Test.33 Test.34;
|
||||
dec Test.33;
|
||||
if Test.29 then
|
||||
let Test.31 : U64 = CallByName List.6 Test.12;
|
||||
dec Test.12;
|
||||
|
@ -159,14 +204,14 @@ procedure Test.1 (#Derived_gen.0):
|
|||
let Test.28 : Int1 = CallByName Bool.1;
|
||||
ret Test.28;
|
||||
in
|
||||
let #Derived_gen.9 : Int1 = lowlevel RefCountIsUnique Test.51;
|
||||
if #Derived_gen.9 then
|
||||
let #Derived_gen.15 : Int1 = lowlevel RefCountIsUnique Test.51;
|
||||
if #Derived_gen.15 then
|
||||
free Test.51;
|
||||
jump #Derived_gen.8;
|
||||
jump #Derived_gen.14;
|
||||
else
|
||||
inc Test.14;
|
||||
decref Test.51;
|
||||
jump #Derived_gen.8;
|
||||
jump #Derived_gen.14;
|
||||
else
|
||||
let Test.48 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
let Test.47 : List [<r>C I64, C List *self] = Array [Test.48];
|
||||
|
|
|
@ -32,7 +32,6 @@ procedure Str.42 (#Attr.2):
|
|||
|
||||
procedure Str.64 (Str.189):
|
||||
let Str.190 : {I64, U8} = CallByName Str.42 Str.189;
|
||||
dec Str.189;
|
||||
let Str.242 : U8 = StructAtIndex 1 Str.190;
|
||||
let Str.243 : U8 = 0i64;
|
||||
let Str.239 : Int1 = CallByName Bool.11 Str.242 Str.243;
|
||||
|
@ -68,6 +67,7 @@ procedure Test.19 ():
|
|||
let Test.133 : List U8 = CallByName Str.12 Test.135;
|
||||
let Test.134 : {} = Struct {};
|
||||
let Test.132 : {List U8, [C {}, C Str]} = CallByName Decode.26 Test.133 Test.134;
|
||||
dec Test.133;
|
||||
let Test.93 : List U8 = StructAtIndex 0 Test.132;
|
||||
let Test.92 : [C {}, C Str] = StructAtIndex 1 Test.132;
|
||||
let Test.129 : U8 = 1i64;
|
||||
|
@ -76,6 +76,7 @@ procedure Test.19 ():
|
|||
if Test.131 then
|
||||
let Test.94 : Str = UnionAtIndex (Id 1) (Index 0) Test.92;
|
||||
let Test.117 : [C {}, C I64] = CallByName Str.27 Test.94;
|
||||
dec Test.94;
|
||||
let Test.123 : U8 = 1i64;
|
||||
let Test.124 : U8 = GetTagId Test.117;
|
||||
let Test.125 : Int1 = lowlevel Eq Test.123 Test.124;
|
||||
|
@ -99,5 +100,6 @@ procedure Test.19 ():
|
|||
procedure Test.76 (Test.77, Test.138):
|
||||
let Test.141 : {} = Struct {};
|
||||
let Test.140 : [C {}, C Str] = TagId(0) Test.141;
|
||||
inc Test.77;
|
||||
let Test.139 : {List U8, [C {}, C Str]} = Struct {Test.77, Test.140};
|
||||
ret Test.139;
|
||||
|
|
|
@ -37,6 +37,7 @@ procedure Test.1 (#Derived_gen.0, #Derived_gen.1):
|
|||
let Test.14 : [C {}, C Str] = TagId(0) Test.15;
|
||||
ret Test.14;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump Test.12 #Derived_gen.0 #Derived_gen.1;
|
||||
|
||||
procedure Test.0 ():
|
||||
|
@ -44,4 +45,5 @@ procedure Test.0 ():
|
|||
let Test.10 : List Str = Array [Test.35];
|
||||
let Test.11 : U64 = 0i64;
|
||||
let Test.9 : [C {}, C Str] = CallByName Test.1 Test.10 Test.11;
|
||||
dec Test.10;
|
||||
ret Test.9;
|
||||
|
|
|
@ -3,7 +3,6 @@ procedure Bool.1 ():
|
|||
ret Bool.24;
|
||||
|
||||
procedure Test.1 (Test.4):
|
||||
dec Test.4;
|
||||
let Test.9 : I64 = 0i64;
|
||||
ret Test.9;
|
||||
|
||||
|
@ -18,6 +17,7 @@ procedure Test.0 ():
|
|||
in
|
||||
joinpoint Test.13 Test.12:
|
||||
let Test.8 : I64 = CallByName Test.1 Test.12;
|
||||
dec Test.12;
|
||||
jump Test.7 Test.8;
|
||||
in
|
||||
let Test.32 : U64 = lowlevel ListLenUsize Test.6;
|
||||
|
|
11
crates/compiler/test_mono/generated/issue_6606_2.txt
generated
11
crates/compiler/test_mono/generated/issue_6606_2.txt
generated
|
@ -3,7 +3,6 @@ procedure Bool.1 ():
|
|||
ret Bool.24;
|
||||
|
||||
procedure Test.1 (Test.4):
|
||||
dec Test.4;
|
||||
let Test.9 : I64 = 0i64;
|
||||
ret Test.9;
|
||||
|
||||
|
@ -18,6 +17,7 @@ procedure Test.0 ():
|
|||
in
|
||||
joinpoint Test.13 Test.12:
|
||||
let Test.8 : I64 = CallByName Test.1 Test.12;
|
||||
dec Test.12;
|
||||
jump Test.7 Test.8;
|
||||
in
|
||||
let Test.44 : U64 = lowlevel ListLenUsize Test.6;
|
||||
|
@ -32,7 +32,8 @@ procedure Test.0 ():
|
|||
if Test.43 then
|
||||
let Test.24 : U64 = 0i64;
|
||||
let Test.19 : List [] = lowlevel ListGetUnsafe Test.6 Test.24;
|
||||
decref Test.6;
|
||||
inc Test.19;
|
||||
dec Test.6;
|
||||
let Test.20 : U64 = 0i64;
|
||||
let Test.21 : U64 = lowlevel ListLenU64 Test.19;
|
||||
let Test.22 : U64 = lowlevel NumSub Test.21 Test.20;
|
||||
|
@ -57,7 +58,8 @@ procedure Test.0 ():
|
|||
if Test.38 then
|
||||
let Test.33 : U64 = 0i64;
|
||||
let Test.28 : List [] = lowlevel ListGetUnsafe Test.6 Test.33;
|
||||
decref Test.6;
|
||||
inc Test.28;
|
||||
dec Test.6;
|
||||
let Test.29 : U64 = 0i64;
|
||||
let Test.30 : U64 = lowlevel ListLenU64 Test.28;
|
||||
let Test.31 : U64 = lowlevel NumSub Test.30 Test.29;
|
||||
|
@ -73,8 +75,7 @@ procedure Test.0 ():
|
|||
let Test.27 : Int1 = CallByName Bool.1;
|
||||
jump Test.26 Test.27;
|
||||
else
|
||||
dec Test.40;
|
||||
decref Test.6;
|
||||
dec Test.6;
|
||||
jump Test.15;
|
||||
else
|
||||
dec Test.6;
|
||||
|
|
|
@ -22,7 +22,6 @@ procedure Test.2 (Test.7, Test.8):
|
|||
ret Test.43;
|
||||
|
||||
procedure Test.3 (Test.17):
|
||||
dec Test.17;
|
||||
let Test.35 : {} = Struct {};
|
||||
ret Test.35;
|
||||
|
||||
|
@ -35,6 +34,7 @@ procedure Test.9 (Test.26, #Attr.12):
|
|||
let Test.32 : {} = Struct {};
|
||||
let Test.31 : Str = CallByName Test.15 Test.32;
|
||||
let Test.28 : {} = CallByName Test.3 Test.31;
|
||||
dec Test.31;
|
||||
let Test.30 : {} = Struct {};
|
||||
let Test.29 : Str = CallByName Test.11 Test.30;
|
||||
ret Test.29;
|
||||
|
|
|
@ -11,6 +11,7 @@ procedure Test.1 (Test.5):
|
|||
ret Test.31;
|
||||
|
||||
procedure Test.2 (Test.7):
|
||||
inc Test.7;
|
||||
let Test.23 : [C {}, C U64, C Str] = TagId(2) Test.7;
|
||||
ret Test.23;
|
||||
|
||||
|
@ -59,6 +60,7 @@ procedure Test.0 ():
|
|||
case 1:
|
||||
let Test.22 : Str = "foo";
|
||||
let Test.21 : [C {}, C U64, C Str] = CallByName Test.2 Test.22;
|
||||
dec Test.22;
|
||||
jump Test.13 Test.21;
|
||||
|
||||
default:
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
procedure Test.1 (Test.4):
|
||||
inc Test.4;
|
||||
let Test.13 : [C Str, C Str] = TagId(0) Test.4;
|
||||
ret Test.13;
|
||||
|
||||
procedure Test.1 (Test.4):
|
||||
inc Test.4;
|
||||
let Test.19 : [C Str, C Str] = TagId(0) Test.4;
|
||||
ret Test.19;
|
||||
|
||||
|
@ -22,8 +24,10 @@ procedure Test.0 ():
|
|||
if Test.22 then
|
||||
let Test.16 : Str = "";
|
||||
let Test.10 : [C Str, C Str] = CallByName Test.1 Test.16;
|
||||
dec Test.16;
|
||||
jump Test.9 Test.10;
|
||||
else
|
||||
let Test.20 : Str = "";
|
||||
let Test.17 : [C Str, C Str] = CallByName Test.1 Test.20;
|
||||
dec Test.20;
|
||||
jump Test.9 Test.17;
|
||||
|
|
|
@ -1,32 +1,33 @@
|
|||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.588 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.588;
|
||||
let List.636 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.636;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : [<rnu>C *self, <null>] = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.167 List.586;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : [<rnu>C *self, <null>] = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.170 List.634;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
inc #Derived_gen.0;
|
||||
jump List.628 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -46,4 +47,5 @@ procedure Test.0 ():
|
|||
let Test.8 : List [<rnu>C *self, <null>] = Array [];
|
||||
let Test.15 : {} = Struct {};
|
||||
let Test.9 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.18 Test.8 Test.6 Test.15;
|
||||
dec Test.8;
|
||||
ret Test.9;
|
||||
|
|
18
crates/compiler/test_mono/generated/list_append.txt
generated
18
crates/compiler/test_mono/generated/list_append.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.127, List.128):
|
||||
let List.580 : U64 = 1i64;
|
||||
let List.578 : List I64 = CallByName List.70 List.127 List.580;
|
||||
let List.577 : List I64 = CallByName List.71 List.578 List.128;
|
||||
ret List.577;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.628 : U64 = 1i64;
|
||||
let List.626 : List I64 = CallByName List.70 List.130 List.628;
|
||||
let List.625 : List I64 = CallByName List.71 List.626 List.131;
|
||||
ret List.625;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.581 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.581;
|
||||
let List.629 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.629;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.579 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.579;
|
||||
let List.627 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.2 : List I64 = Array [1i64];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.127, List.128):
|
||||
let List.580 : U64 = 1i64;
|
||||
let List.578 : List I64 = CallByName List.70 List.127 List.580;
|
||||
let List.577 : List I64 = CallByName List.71 List.578 List.128;
|
||||
ret List.577;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.628 : U64 = 1i64;
|
||||
let List.626 : List I64 = CallByName List.70 List.130 List.628;
|
||||
let List.625 : List I64 = CallByName List.71 List.626 List.131;
|
||||
ret List.625;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.581 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.581;
|
||||
let List.629 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.629;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.579 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.579;
|
||||
let List.627 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.627;
|
||||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.6 : I64 = 42i64;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.580 : {List I64, I64} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.579 : List I64 = StructAtIndex 0 List.580;
|
||||
ret List.579;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.628 : {List I64, I64} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.627 : List I64 = StructAtIndex 0 List.628;
|
||||
ret List.627;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.578 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.578;
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.585 : U64 = CallByName List.6 List.116;
|
||||
let List.582 : Int1 = CallByName Num.22 List.117 List.585;
|
||||
if List.582 then
|
||||
let List.583 : {List I64, I64} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.583;
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.633 : U64 = CallByName List.6 List.119;
|
||||
let List.630 : Int1 = CallByName Num.22 List.120 List.633;
|
||||
if List.630 then
|
||||
let List.631 : {List I64, I64} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.631;
|
||||
else
|
||||
let List.581 : {List I64, I64} = Struct {List.116, List.118};
|
||||
ret List.581;
|
||||
let List.629 : {List I64, I64} = Struct {List.119, List.121};
|
||||
ret List.629;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.584 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.584;
|
||||
let List.632 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.632;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
31
crates/compiler/test_mono/generated/list_get.txt
generated
31
crates/compiler/test_mono/generated/list_get.txt
generated
|
@ -1,24 +1,22 @@
|
|||
procedure List.2 (List.111, List.112):
|
||||
let List.583 : U64 = CallByName List.6 List.111;
|
||||
let List.579 : Int1 = CallByName Num.22 List.112 List.583;
|
||||
if List.579 then
|
||||
let List.581 : I64 = CallByName List.66 List.111 List.112;
|
||||
dec List.111;
|
||||
let List.580 : [C {}, C I64] = TagId(1) List.581;
|
||||
ret List.580;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.631 : U64 = CallByName List.6 List.114;
|
||||
let List.627 : Int1 = CallByName Num.22 List.115 List.631;
|
||||
if List.627 then
|
||||
let List.629 : I64 = CallByName List.66 List.114 List.115;
|
||||
let List.628 : [C {}, C I64] = TagId(1) List.629;
|
||||
ret List.628;
|
||||
else
|
||||
dec List.111;
|
||||
let List.578 : {} = Struct {};
|
||||
let List.577 : [C {}, C I64] = TagId(0) List.578;
|
||||
ret List.577;
|
||||
let List.626 : {} = Struct {};
|
||||
let List.625 : [C {}, C I64] = TagId(0) List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.582 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.582;
|
||||
let List.630 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -28,6 +26,7 @@ procedure Test.1 (Test.2):
|
|||
let Test.6 : List I64 = Array [1i64, 2i64, 3i64];
|
||||
let Test.7 : U64 = 0i64;
|
||||
let Test.5 : [C {}, C I64] = CallByName List.2 Test.6 Test.7;
|
||||
dec Test.6;
|
||||
ret Test.5;
|
||||
|
||||
procedure Test.0 ():
|
||||
|
|
8
crates/compiler/test_mono/generated/list_len.txt
generated
8
crates/compiler/test_mono/generated/list_len.txt
generated
|
@ -1,10 +1,10 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.577 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.577;
|
||||
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.578 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.578;
|
||||
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.626;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,34 +1,74 @@
|
|||
procedure List.2 (List.111, List.112):
|
||||
let List.583 : U64 = CallByName List.6 List.111;
|
||||
let List.579 : Int1 = CallByName Num.22 List.112 List.583;
|
||||
if List.579 then
|
||||
let List.581 : Str = CallByName List.66 List.111 List.112;
|
||||
inc List.581;
|
||||
dec List.111;
|
||||
let List.580 : [C {}, C Str] = TagId(1) List.581;
|
||||
ret List.580;
|
||||
else
|
||||
dec List.111;
|
||||
let List.578 : {} = Struct {};
|
||||
let List.577 : [C {}, C Str] = TagId(0) List.578;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.637 : U64 = 0i64;
|
||||
let List.638 : U64 = CallByName List.6 List.166;
|
||||
let List.636 : List Str = CallByName List.95 List.166 List.167 List.168 List.637 List.638;
|
||||
ret List.636;
|
||||
|
||||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.585 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.585;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.631 : U64 = CallByName List.6 List.114;
|
||||
let List.627 : Int1 = CallByName Num.22 List.115 List.631;
|
||||
if List.627 then
|
||||
let List.629 : Str = CallByName List.66 List.114 List.115;
|
||||
inc List.629;
|
||||
let List.628 : [C {}, C Str] = TagId(1) List.629;
|
||||
ret List.628;
|
||||
else
|
||||
let List.626 : {} = Struct {};
|
||||
let List.625 : [C {}, C Str] = TagId(0) List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.648 : Str = CallByName Test.3 List.280;
|
||||
let List.647 : List Str = CallByName List.71 List.279 List.648;
|
||||
ret List.647;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.634 : List Str = CallByName List.68 List.277;
|
||||
let List.633 : List Str = CallByName List.18 List.275 List.634 List.276;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.582 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.582;
|
||||
let List.630 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.630;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.650 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.649 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.639 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.641 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.641 then
|
||||
let List.645 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.645;
|
||||
let List.174 : List Str = CallByName List.278 List.170 List.645 List.171;
|
||||
dec List.645;
|
||||
let List.644 : U64 = 1i64;
|
||||
let List.643 : U64 = CallByName Num.51 List.172 List.644;
|
||||
jump List.639 List.169 List.174 List.171 List.643 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.639 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
|
||||
procedure Str.16 (#Attr.2, #Attr.3):
|
||||
let Str.236 : Str = lowlevel StrRepeat #Attr.2 #Attr.3;
|
||||
|
@ -50,18 +90,19 @@ procedure Test.2 ():
|
|||
let Test.15 : List Str = CallByName Test.1;
|
||||
let Test.16 : {} = Struct {};
|
||||
let Test.14 : List Str = CallByName List.5 Test.15 Test.16;
|
||||
dec Test.15;
|
||||
ret Test.14;
|
||||
|
||||
procedure Test.3 (Test.4):
|
||||
let Test.18 : U64 = 2i64;
|
||||
let Test.17 : Str = CallByName Str.16 Test.4 Test.18;
|
||||
dec Test.4;
|
||||
ret Test.17;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.12 : List Str = CallByName Test.2;
|
||||
let Test.13 : U64 = 0i64;
|
||||
let Test.6 : [C {}, C Str] = CallByName List.2 Test.12 Test.13;
|
||||
dec Test.12;
|
||||
let Test.9 : U8 = 1i64;
|
||||
let Test.10 : U8 = GetTagId Test.6;
|
||||
let Test.11 : Int1 = lowlevel Eq Test.9 Test.10;
|
||||
|
|
|
@ -1,34 +1,73 @@
|
|||
procedure List.2 (List.111, List.112):
|
||||
let List.583 : U64 = CallByName List.6 List.111;
|
||||
let List.579 : Int1 = CallByName Num.22 List.112 List.583;
|
||||
if List.579 then
|
||||
let List.581 : Str = CallByName List.66 List.111 List.112;
|
||||
inc List.581;
|
||||
dec List.111;
|
||||
let List.580 : [C {}, C Str] = TagId(1) List.581;
|
||||
ret List.580;
|
||||
else
|
||||
dec List.111;
|
||||
let List.578 : {} = Struct {};
|
||||
let List.577 : [C {}, C Str] = TagId(0) List.578;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.637 : U64 = 0i64;
|
||||
let List.638 : U64 = CallByName List.6 List.166;
|
||||
let List.636 : List Str = CallByName List.95 List.166 List.167 List.168 List.637 List.638;
|
||||
ret List.636;
|
||||
|
||||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.585 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.585;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.631 : U64 = CallByName List.6 List.114;
|
||||
let List.627 : Int1 = CallByName Num.22 List.115 List.631;
|
||||
if List.627 then
|
||||
let List.629 : Str = CallByName List.66 List.114 List.115;
|
||||
inc List.629;
|
||||
let List.628 : [C {}, C Str] = TagId(1) List.629;
|
||||
ret List.628;
|
||||
else
|
||||
let List.626 : {} = Struct {};
|
||||
let List.625 : [C {}, C Str] = TagId(0) List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.648 : Str = CallByName Test.3 List.280;
|
||||
let List.647 : List Str = CallByName List.71 List.279 List.648;
|
||||
ret List.647;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.634 : List Str = CallByName List.68 List.277;
|
||||
let List.633 : List Str = CallByName List.18 List.275 List.634 List.276;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.582 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.582;
|
||||
let List.630 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.630;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.650 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.649 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.639 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.641 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.641 then
|
||||
let List.645 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.645;
|
||||
let List.174 : List Str = CallByName List.278 List.170 List.645 List.171;
|
||||
let List.644 : U64 = 1i64;
|
||||
let List.643 : U64 = CallByName Num.51 List.172 List.644;
|
||||
jump List.639 List.169 List.174 List.171 List.643 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.639 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
|
||||
procedure Str.3 (#Attr.2, #Attr.3):
|
||||
let Str.237 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
|
||||
|
@ -46,6 +85,7 @@ procedure Test.2 ():
|
|||
let Test.15 : List Str = CallByName Test.1;
|
||||
let Test.16 : {} = Struct {};
|
||||
let Test.14 : List Str = CallByName List.5 Test.15 Test.16;
|
||||
dec Test.15;
|
||||
ret Test.14;
|
||||
|
||||
procedure Test.3 (Test.4):
|
||||
|
@ -58,6 +98,7 @@ procedure Test.0 ():
|
|||
let Test.12 : List Str = CallByName Test.2;
|
||||
let Test.13 : U64 = 0i64;
|
||||
let Test.6 : [C {}, C Str] = CallByName List.2 Test.12 Test.13;
|
||||
dec Test.12;
|
||||
let Test.9 : U8 = 1i64;
|
||||
let Test.10 : U8 = GetTagId Test.6;
|
||||
let Test.11 : Int1 = lowlevel Eq Test.9 Test.10;
|
||||
|
|
|
@ -1,29 +1,79 @@
|
|||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.578 : U8 = GetTagId #Attr.3;
|
||||
joinpoint List.579 List.577:
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.629 : U64 = 0i64;
|
||||
let List.630 : U64 = CallByName List.6 List.166;
|
||||
let List.628 : List U8 = CallByName List.95 List.166 List.167 List.168 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.644 : U8 = GetTagId List.276;
|
||||
joinpoint List.645 List.642:
|
||||
let List.641 : List U8 = CallByName List.71 List.279 List.642;
|
||||
ret List.641;
|
||||
in
|
||||
switch List.578:
|
||||
switch List.644:
|
||||
case 0:
|
||||
let List.580 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.4 #Attr.3;
|
||||
decref #Attr.2;
|
||||
jump List.579 List.580;
|
||||
let List.646 : U8 = CallByName Test.4 List.280 List.276;
|
||||
jump List.645 List.646;
|
||||
|
||||
case 1:
|
||||
let List.581 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.6 #Attr.3;
|
||||
decref #Attr.2;
|
||||
jump List.579 List.581;
|
||||
let List.646 : U8 = CallByName Test.6 List.280 List.276;
|
||||
jump List.645 List.646;
|
||||
|
||||
default:
|
||||
let List.582 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.8 #Attr.3;
|
||||
decref #Attr.2;
|
||||
jump List.579 List.582;
|
||||
let List.646 : U8 = CallByName Test.8 List.280;
|
||||
jump List.645 List.646;
|
||||
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.626 : List U8 = CallByName List.68 List.277;
|
||||
let List.625 : List U8 = CallByName List.18 List.275 List.626 List.276;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.639 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.639;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.638 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.647 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.647;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.643 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.643;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.631 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.633 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.633 then
|
||||
let List.637 : U8 = CallByName List.66 List.169 List.172;
|
||||
let List.174 : List U8 = CallByName List.278 List.170 List.637 List.171;
|
||||
let List.636 : U64 = 1i64;
|
||||
let List.635 : U64 = CallByName Num.51 List.172 List.636;
|
||||
jump List.631 List.169 List.174 List.171 List.635 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.631 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.285;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.284;
|
||||
|
||||
procedure Test.4 (Test.5, #Attr.12):
|
||||
let Test.16 : U8 = UnionAtIndex (Id 0) (Index 0) #Attr.12;
|
||||
let Test.15 : U8 = CallByName Num.19 Test.5 Test.16;
|
||||
|
@ -44,6 +94,7 @@ procedure Test.0 ():
|
|||
joinpoint Test.13 Test.3:
|
||||
let Test.11 : List U8 = Array [1i64, 2i64, 3i64];
|
||||
let Test.10 : List U8 = CallByName List.5 Test.11 Test.3;
|
||||
dec Test.11;
|
||||
ret Test.10;
|
||||
in
|
||||
let Test.12 : Str = "";
|
||||
|
|
|
@ -5,8 +5,7 @@ procedure Test.0 ():
|
|||
let Test.9 : U64 = 1i64;
|
||||
let Test.10 : Int1 = lowlevel Eq Test.8 Test.9;
|
||||
if Test.10 then
|
||||
dec Test.11;
|
||||
decref Test.1;
|
||||
dec Test.1;
|
||||
let Test.3 : Str = "B";
|
||||
ret Test.3;
|
||||
else
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.578 : {List I64, I64} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.577 : List I64 = StructAtIndex 0 List.578;
|
||||
ret List.577;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.626 : {List I64, I64} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.625 : List I64 = StructAtIndex 0 List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.583 : U64 = CallByName List.6 List.116;
|
||||
let List.580 : Int1 = CallByName Num.22 List.117 List.583;
|
||||
if List.580 then
|
||||
let List.581 : {List I64, I64} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.581;
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.631 : U64 = CallByName List.6 List.119;
|
||||
let List.628 : Int1 = CallByName Num.22 List.120 List.631;
|
||||
if List.628 then
|
||||
let List.629 : {List I64, I64} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.629;
|
||||
else
|
||||
let List.579 : {List I64, I64} = Struct {List.116, List.118};
|
||||
ret List.579;
|
||||
let List.627 : {List I64, I64} = Struct {List.119, List.121};
|
||||
ret List.627;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.582 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.582;
|
||||
let List.630 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
procedure List.28 (#Attr.2, #Attr.3):
|
||||
let List.579 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.579;
|
||||
let List.627 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.627;
|
||||
|
||||
procedure List.59 (List.333):
|
||||
let List.578 : {} = Struct {};
|
||||
let List.577 : List I64 = CallByName List.28 List.333 List.578;
|
||||
ret List.577;
|
||||
procedure List.59 (List.381):
|
||||
let List.626 : {} = Struct {};
|
||||
let List.625 : List I64 = CallByName List.28 List.381 List.626;
|
||||
ret List.625;
|
||||
|
||||
procedure Num.46 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
procedure Test.1 (Test.2):
|
||||
inc Test.2;
|
||||
inc 2 Test.2;
|
||||
let Test.6 : {List I64, List I64} = Struct {Test.2, Test.2};
|
||||
ret Test.6;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.5 : List I64 = Array [1i64, 2i64, 3i64];
|
||||
let Test.4 : {List I64, List I64} = CallByName Test.1 Test.5;
|
||||
dec Test.5;
|
||||
ret Test.4;
|
||||
|
|
|
@ -7,8 +7,6 @@ procedure Test.1 (Test.3):
|
|||
ret Test.13;
|
||||
|
||||
procedure Test.2 (Test.4, Test.5):
|
||||
dec Test.5;
|
||||
dec Test.4;
|
||||
let Test.9 : U64 = 18i64;
|
||||
ret Test.9;
|
||||
|
||||
|
@ -18,4 +16,6 @@ procedure Test.0 ():
|
|||
let Test.10 : {} = Struct {};
|
||||
let Test.8 : List U16 = CallByName Test.1 Test.10;
|
||||
let Test.6 : U64 = CallByName Test.2 Test.7 Test.8;
|
||||
dec Test.8;
|
||||
dec Test.7;
|
||||
ret Test.6;
|
||||
|
|
|
@ -1,43 +1,41 @@
|
|||
procedure List.2 (List.111, List.112):
|
||||
let List.599 : U64 = CallByName List.6 List.111;
|
||||
let List.596 : Int1 = CallByName Num.22 List.112 List.599;
|
||||
if List.596 then
|
||||
let List.598 : I64 = CallByName List.66 List.111 List.112;
|
||||
dec List.111;
|
||||
let List.597 : [C {}, C I64] = TagId(1) List.598;
|
||||
ret List.597;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.647 : U64 = CallByName List.6 List.114;
|
||||
let List.644 : Int1 = CallByName Num.22 List.115 List.647;
|
||||
if List.644 then
|
||||
let List.646 : I64 = CallByName List.66 List.114 List.115;
|
||||
let List.645 : [C {}, C I64] = TagId(1) List.646;
|
||||
ret List.645;
|
||||
else
|
||||
dec List.111;
|
||||
let List.595 : {} = Struct {};
|
||||
let List.594 : [C {}, C I64] = TagId(0) List.595;
|
||||
ret List.594;
|
||||
let List.643 : {} = Struct {};
|
||||
let List.642 : [C {}, C I64] = TagId(0) List.643;
|
||||
ret List.642;
|
||||
|
||||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.586 : {List I64, I64} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.585 : List I64 = StructAtIndex 0 List.586;
|
||||
ret List.585;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.634 : {List I64, I64} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.633 : List I64 = StructAtIndex 0 List.634;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.583 : U64 = CallByName List.6 List.116;
|
||||
let List.580 : Int1 = CallByName Num.22 List.117 List.583;
|
||||
if List.580 then
|
||||
let List.581 : {List I64, I64} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.581;
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.631 : U64 = CallByName List.6 List.119;
|
||||
let List.628 : Int1 = CallByName Num.22 List.120 List.631;
|
||||
if List.628 then
|
||||
let List.629 : {List I64, I64} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.629;
|
||||
else
|
||||
let List.579 : {List I64, I64} = Struct {List.116, List.118};
|
||||
ret List.579;
|
||||
let List.627 : {List I64, I64} = Struct {List.119, List.121};
|
||||
ret List.627;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.592 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.592;
|
||||
let List.640 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.640;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.582 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.582;
|
||||
let List.630 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -45,7 +43,6 @@ procedure Num.22 (#Attr.2, #Attr.3):
|
|||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.28 : U64 = 0i64;
|
||||
inc 2 Test.2;
|
||||
let Test.26 : [C {}, C I64] = CallByName List.2 Test.2 Test.28;
|
||||
let Test.27 : U64 = 0i64;
|
||||
let Test.25 : [C {}, C I64] = CallByName List.2 Test.2 Test.27;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.586 : {List U64, U64} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.585 : List U64 = StructAtIndex 0 List.586;
|
||||
ret List.585;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.634 : {List U64, U64} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.633 : List U64 = StructAtIndex 0 List.634;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.583 : U64 = CallByName List.6 List.116;
|
||||
let List.580 : Int1 = CallByName Num.22 List.117 List.583;
|
||||
if List.580 then
|
||||
let List.581 : {List U64, U64} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.581;
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.631 : U64 = CallByName List.6 List.119;
|
||||
let List.628 : Int1 = CallByName Num.22 List.120 List.631;
|
||||
if List.628 then
|
||||
let List.629 : {List U64, U64} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.629;
|
||||
else
|
||||
let List.579 : {List U64, U64} = Struct {List.116, List.118};
|
||||
ret List.579;
|
||||
let List.627 : {List U64, U64} = Struct {List.119, List.121};
|
||||
ret List.627;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.582 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.582;
|
||||
let List.630 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,15 +1,69 @@
|
|||
procedure List.5 (#Attr.2, #Attr.3):
|
||||
let List.577 : List [<rnnu>C List *self] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
|
||||
decref #Attr.2;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.629 : U64 = 0i64;
|
||||
let List.630 : U64 = CallByName List.6 List.166;
|
||||
let List.628 : List [<rnnu>C List *self] = CallByName List.95 List.166 List.167 List.168 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.278 (List.279, List.280, List.276):
|
||||
let List.642 : [<rnnu>C List *self] = CallByName Test.2 List.280;
|
||||
let List.641 : List [<rnnu>C List *self] = CallByName List.71 List.279 List.642;
|
||||
ret List.641;
|
||||
|
||||
procedure List.5 (List.275, List.276):
|
||||
let List.277 : U64 = CallByName List.6 List.275;
|
||||
let List.626 : List [<rnnu>C List *self] = CallByName List.68 List.277;
|
||||
let List.625 : List [<rnnu>C List *self] = CallByName List.18 List.275 List.626 List.276;
|
||||
ret List.625;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.639 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.639;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.638 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.638;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.644 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.644;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.643 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.643;
|
||||
|
||||
procedure List.95 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.631 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.633 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.633 then
|
||||
let List.637 : [<rnnu>C List *self] = CallByName List.66 List.169 List.172;
|
||||
inc List.637;
|
||||
let List.174 : List [<rnnu>C List *self] = CallByName List.278 List.170 List.637 List.171;
|
||||
let List.636 : U64 = 1i64;
|
||||
let List.635 : U64 = CallByName Num.51 List.172 List.636;
|
||||
jump List.631 List.169 List.174 List.171 List.635 List.173;
|
||||
else
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.631 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.282;
|
||||
|
||||
procedure Num.51 (#Attr.2, #Attr.3):
|
||||
let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
|
||||
ret Num.281;
|
||||
|
||||
procedure Test.2 (Test.5):
|
||||
let Test.6 : List [<rnnu>C List *self] = UnionAtIndex (Id 0) (Index 0) Test.5;
|
||||
inc Test.6;
|
||||
let #Derived_gen.2 : [<rnnu>C List *self] = Reset { symbol: Test.5, id: UpdateModeId { id: 1 } };
|
||||
let #Derived_gen.9 : [<rnnu>C List *self] = Reset { symbol: Test.5, id: UpdateModeId { id: 0 } };
|
||||
let Test.15 : {} = Struct {};
|
||||
let Test.7 : List [<rnnu>C List *self] = CallByName List.5 Test.6 Test.15;
|
||||
let Test.14 : [<rnnu>C List *self] = Reuse #Derived_gen.2 UpdateModeId { id: 1 } TagId(0) Test.7;
|
||||
dec Test.6;
|
||||
let Test.14 : [<rnnu>C List *self] = Reuse #Derived_gen.9 UpdateModeId { id: 0 } TagId(0) Test.7;
|
||||
ret Test.14;
|
||||
|
||||
procedure Test.0 ():
|
||||
|
|
|
@ -3,7 +3,6 @@ procedure Bool.2 ():
|
|||
ret Bool.23;
|
||||
|
||||
procedure Test.10 (Test.26):
|
||||
dec Test.26;
|
||||
let Test.30 : Int1 = CallByName Bool.2;
|
||||
if Test.30 then
|
||||
let Test.31 : [<rnu><null>, C {}] = CallByName Test.0;
|
||||
|
@ -30,6 +29,7 @@ procedure Test.6 (Test.16, #Attr.12):
|
|||
let Test.19 : {} = Struct {};
|
||||
let Test.22 : Str = "foobar";
|
||||
let Test.20 : [<rnu><null>, C {}] = CallByName Test.8 Test.22 Test.23;
|
||||
dec Test.22;
|
||||
let Test.21 : U8 = GetTagId Test.20;
|
||||
switch Test.21:
|
||||
case 0:
|
||||
|
|
59
crates/compiler/test_mono/generated/rigids.txt
generated
59
crates/compiler/test_mono/generated/rigids.txt
generated
|
@ -1,50 +1,47 @@
|
|||
procedure List.2 (List.111, List.112):
|
||||
let List.599 : U64 = CallByName List.6 List.111;
|
||||
let List.596 : Int1 = CallByName Num.22 List.112 List.599;
|
||||
if List.596 then
|
||||
let List.598 : I64 = CallByName List.66 List.111 List.112;
|
||||
dec List.111;
|
||||
let List.597 : [C {}, C I64] = TagId(1) List.598;
|
||||
ret List.597;
|
||||
procedure List.2 (List.114, List.115):
|
||||
let List.647 : U64 = CallByName List.6 List.114;
|
||||
let List.644 : Int1 = CallByName Num.22 List.115 List.647;
|
||||
if List.644 then
|
||||
let List.646 : I64 = CallByName List.66 List.114 List.115;
|
||||
let List.645 : [C {}, C I64] = TagId(1) List.646;
|
||||
ret List.645;
|
||||
else
|
||||
dec List.111;
|
||||
let List.595 : {} = Struct {};
|
||||
let List.594 : [C {}, C I64] = TagId(0) List.595;
|
||||
ret List.594;
|
||||
let List.643 : {} = Struct {};
|
||||
let List.642 : [C {}, C I64] = TagId(0) List.643;
|
||||
ret List.642;
|
||||
|
||||
procedure List.3 (List.119, List.120, List.121):
|
||||
let List.586 : {List I64, I64} = CallByName List.64 List.119 List.120 List.121;
|
||||
let List.585 : List I64 = StructAtIndex 0 List.586;
|
||||
ret List.585;
|
||||
procedure List.3 (List.122, List.123, List.124):
|
||||
let List.634 : {List I64, I64} = CallByName List.64 List.122 List.123 List.124;
|
||||
let List.633 : List I64 = StructAtIndex 0 List.634;
|
||||
ret List.633;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.584;
|
||||
let List.632 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.632;
|
||||
|
||||
procedure List.64 (List.116, List.117, List.118):
|
||||
let List.583 : U64 = CallByName List.6 List.116;
|
||||
let List.580 : Int1 = CallByName Num.22 List.117 List.583;
|
||||
if List.580 then
|
||||
let List.581 : {List I64, I64} = CallByName List.67 List.116 List.117 List.118;
|
||||
ret List.581;
|
||||
procedure List.64 (List.119, List.120, List.121):
|
||||
let List.631 : U64 = CallByName List.6 List.119;
|
||||
let List.628 : Int1 = CallByName Num.22 List.120 List.631;
|
||||
if List.628 then
|
||||
let List.629 : {List I64, I64} = CallByName List.67 List.119 List.120 List.121;
|
||||
ret List.629;
|
||||
else
|
||||
let List.579 : {List I64, I64} = Struct {List.116, List.118};
|
||||
ret List.579;
|
||||
let List.627 : {List I64, I64} = Struct {List.119, List.121};
|
||||
ret List.627;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.592 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.592;
|
||||
let List.640 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.640;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.582 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.582;
|
||||
let List.630 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.630;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
ret Num.283;
|
||||
|
||||
procedure Test.1 (Test.2, Test.3, Test.4):
|
||||
inc 2 Test.4;
|
||||
let Test.29 : [C {}, C I64] = CallByName List.2 Test.4 Test.3;
|
||||
let Test.28 : [C {}, C I64] = CallByName List.2 Test.4 Test.2;
|
||||
let Test.13 : {[C {}, C I64], [C {}, C I64]} = Struct {Test.28, Test.29};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
procedure Test.1 (Test.2):
|
||||
dec Test.2;
|
||||
let Test.11 : Int1 = false;
|
||||
ret Test.11;
|
||||
|
||||
|
@ -14,6 +13,7 @@ procedure Test.4 (Test.13):
|
|||
procedure Test.0 ():
|
||||
let Test.16 : Str = "abc";
|
||||
let Test.6 : Int1 = CallByName Test.1 Test.16;
|
||||
dec Test.16;
|
||||
let Test.9 : {} = Struct {};
|
||||
switch Test.6:
|
||||
case 0:
|
||||
|
|
|
@ -30,56 +30,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.603 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.603;
|
||||
let List.651 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.599 : U64 = 1i64;
|
||||
let List.598 : List U8 = CallByName List.70 List.127 List.599;
|
||||
let List.597 : List U8 = CallByName List.71 List.598 List.128;
|
||||
ret List.597;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.647 : U64 = 1i64;
|
||||
let List.646 : List U8 = CallByName List.70 List.130 List.647;
|
||||
let List.645 : List U8 = CallByName List.71 List.646 List.131;
|
||||
ret List.645;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.593 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.593;
|
||||
let List.641 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.641;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.591 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.591;
|
||||
let List.639 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.639;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.601 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.601;
|
||||
let List.649 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.649;
|
||||
|
||||
procedure List.95 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.66 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.66 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13;
|
||||
inc #Derived_gen.9;
|
||||
jump List.628 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -110,6 +111,7 @@ procedure Test.20 (Test.58):
|
|||
ret Test.295;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
inc Test.61;
|
||||
let Test.275 : {List Str, {}} = Struct {Test.61, Test.62};
|
||||
let Test.274 : {List Str, {}} = CallByName Encode.23 Test.275;
|
||||
ret Test.274;
|
||||
|
@ -148,6 +150,7 @@ procedure Test.24 (Test.80, Test.81):
|
|||
let Test.294 : Str = CallByName Test.20 Test.80;
|
||||
let Test.271 : List Str = CallByName List.13 Test.81 Test.294;
|
||||
let Test.270 : {List Str, {}} = CallByName Test.23 Test.271;
|
||||
dec Test.271;
|
||||
ret Test.270;
|
||||
|
||||
procedure Test.3 ():
|
||||
|
@ -191,6 +194,7 @@ procedure Test.63 (Test.64, Test.276, #Attr.12):
|
|||
let Test.285 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.284 Test.285;
|
||||
let Test.278 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
dec Test.61;
|
||||
ret Test.278;
|
||||
|
||||
procedure Test.66 (Test.67, Test.68, Test.62):
|
||||
|
|
|
@ -19,7 +19,6 @@ procedure Test.15 (Test.49):
|
|||
ret Test.70;
|
||||
|
||||
procedure Test.16 (Test.48):
|
||||
dec Test.48;
|
||||
let Test.79 : {} = Struct {};
|
||||
let Test.78 : Int1 = CallByName Test.13 Test.79;
|
||||
ret Test.78;
|
||||
|
@ -55,6 +54,7 @@ procedure Test.43 (Test.44, Test.42):
|
|||
if Test.75 then
|
||||
let Test.77 : Str = StructAtIndex 0 Test.42;
|
||||
let Test.76 : Int1 = CallByName Test.16 Test.77;
|
||||
dec Test.77;
|
||||
let Test.61 : Int1 = CallByName Test.14 Test.76;
|
||||
jump Test.62 Test.61;
|
||||
else
|
||||
|
|
|
@ -88,90 +88,92 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.603 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.603;
|
||||
let List.651 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.651;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.631 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.631;
|
||||
let List.679 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.578 : U64 = 0i64;
|
||||
let List.579 : U64 = CallByName List.6 List.163;
|
||||
let List.577 : List U8 = CallByName List.95 List.163 List.164 List.165 List.578 List.579;
|
||||
ret List.577;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.626 : U64 = 0i64;
|
||||
let List.627 : U64 = CallByName List.6 List.166;
|
||||
let List.625 : List U8 = CallByName List.95 List.166 List.167 List.168 List.626 List.627;
|
||||
ret List.625;
|
||||
|
||||
procedure List.18 (List.163, List.164, List.165):
|
||||
let List.605 : U64 = 0i64;
|
||||
let List.606 : U64 = CallByName List.6 List.163;
|
||||
let List.604 : List U8 = CallByName List.95 List.163 List.164 List.165 List.605 List.606;
|
||||
ret List.604;
|
||||
procedure List.18 (List.166, List.167, List.168):
|
||||
let List.653 : U64 = 0i64;
|
||||
let List.654 : U64 = CallByName List.6 List.166;
|
||||
let List.652 : List U8 = CallByName List.95 List.166 List.167 List.168 List.653 List.654;
|
||||
ret List.652;
|
||||
|
||||
procedure List.4 (List.127, List.128):
|
||||
let List.626 : U64 = 1i64;
|
||||
let List.625 : List U8 = CallByName List.70 List.127 List.626;
|
||||
let List.624 : List U8 = CallByName List.71 List.625 List.128;
|
||||
ret List.624;
|
||||
procedure List.4 (List.130, List.131):
|
||||
let List.674 : U64 = 1i64;
|
||||
let List.673 : List U8 = CallByName List.70 List.130 List.674;
|
||||
let List.672 : List U8 = CallByName List.71 List.673 List.131;
|
||||
ret List.672;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.602 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.602;
|
||||
let List.650 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.650;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.629 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.629;
|
||||
let List.677 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.677;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.587 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.587;
|
||||
let List.635 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.635;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.614 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.614;
|
||||
let List.662 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.662;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.620 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.620;
|
||||
let List.668 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.668;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.618 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.618;
|
||||
let List.666 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.666;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.628 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.628;
|
||||
let List.676 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.676;
|
||||
|
||||
procedure List.95 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.580 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.582 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.582 then
|
||||
let List.586 : [C {}, C {}, C Str] = CallByName List.66 List.166 List.169;
|
||||
inc List.586;
|
||||
let List.171 : List U8 = CallByName Test.66 List.167 List.586 List.168;
|
||||
let List.585 : U64 = 1i64;
|
||||
let List.584 : U64 = CallByName Num.51 List.169 List.585;
|
||||
jump List.580 List.166 List.171 List.168 List.584 List.170;
|
||||
joinpoint List.628 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.630 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.630 then
|
||||
let List.634 : [C {}, C {}, C Str] = CallByName List.66 List.169 List.172;
|
||||
inc List.634;
|
||||
let List.174 : List U8 = CallByName Test.66 List.170 List.634 List.171;
|
||||
let List.633 : U64 = 1i64;
|
||||
let List.632 : U64 = CallByName Num.51 List.172 List.633;
|
||||
jump List.628 List.169 List.174 List.171 List.632 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.580 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
inc #Derived_gen.26;
|
||||
jump List.628 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure List.95 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38):
|
||||
joinpoint List.607 List.166 List.167 List.168 List.169 List.170:
|
||||
let List.609 : Int1 = CallByName Num.22 List.169 List.170;
|
||||
if List.609 then
|
||||
let List.613 : Str = CallByName List.66 List.166 List.169;
|
||||
inc List.613;
|
||||
let List.171 : List U8 = CallByName Test.66 List.167 List.613 List.168;
|
||||
let List.612 : U64 = 1i64;
|
||||
let List.611 : U64 = CallByName Num.51 List.169 List.612;
|
||||
jump List.607 List.166 List.171 List.168 List.611 List.170;
|
||||
joinpoint List.655 List.169 List.170 List.171 List.172 List.173:
|
||||
let List.657 : Int1 = CallByName Num.22 List.172 List.173;
|
||||
if List.657 then
|
||||
let List.661 : Str = CallByName List.66 List.169 List.172;
|
||||
inc List.661;
|
||||
let List.174 : List U8 = CallByName Test.66 List.170 List.661 List.171;
|
||||
let List.660 : U64 = 1i64;
|
||||
let List.659 : U64 = CallByName Num.51 List.172 List.660;
|
||||
jump List.655 List.169 List.174 List.171 List.659 List.173;
|
||||
else
|
||||
dec List.166;
|
||||
ret List.167;
|
||||
dec List.169;
|
||||
ret List.170;
|
||||
in
|
||||
jump List.607 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38;
|
||||
inc #Derived_gen.34;
|
||||
jump List.655 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.286 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
@ -198,6 +200,7 @@ procedure Str.36 (#Attr.2):
|
|||
ret Str.241;
|
||||
|
||||
procedure Test.20 (Test.58):
|
||||
inc Test.58;
|
||||
let Test.299 : [C {}, C {}, C Str] = TagId(2) Test.58;
|
||||
let Test.298 : [C {}, C {}, C Str] = CallByName Encode.23 Test.299;
|
||||
ret Test.298;
|
||||
|
@ -207,11 +210,13 @@ procedure Test.20 (Test.58):
|
|||
ret Test.342;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
inc Test.61;
|
||||
let Test.278 : {List [C {}, C {}, C Str], {}} = Struct {Test.61, Test.62};
|
||||
let Test.277 : {List [C {}, C {}, C Str], {}} = CallByName Encode.23 Test.278;
|
||||
ret Test.277;
|
||||
|
||||
procedure Test.21 (Test.61, Test.62):
|
||||
inc Test.61;
|
||||
let Test.322 : {List Str, {}} = Struct {Test.61, Test.62};
|
||||
let Test.321 : {List Str, {}} = CallByName Encode.23 Test.322;
|
||||
ret Test.321;
|
||||
|
@ -228,6 +233,7 @@ procedure Test.213 (Test.214, Test.215, Test.212):
|
|||
let Test.315 : [C {}, C {}, C Str] = CallByName #Derived.0 Test.316;
|
||||
let Test.314 : List [C {}, C {}, C Str] = Array [Test.315];
|
||||
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.313 Test.314;
|
||||
dec Test.313;
|
||||
jump Test.270 Test.269;
|
||||
else
|
||||
let Test.271 : Str = "B";
|
||||
|
@ -235,6 +241,7 @@ procedure Test.213 (Test.214, Test.215, Test.212):
|
|||
let Test.310 : [C {}, C {}, C Str] = CallByName #Derived.5 Test.311;
|
||||
let Test.272 : List [C {}, C {}, C Str] = Array [Test.310];
|
||||
let Test.269 : {List [C {}, C {}, C Str], {}} = CallByName Test.24 Test.271 Test.272;
|
||||
dec Test.271;
|
||||
jump Test.270 Test.269;
|
||||
|
||||
procedure Test.23 (Test.77):
|
||||
|
@ -251,12 +258,14 @@ procedure Test.24 (Test.80, Test.81):
|
|||
let Test.297 : [C {}, C {}, C Str] = CallByName Test.20 Test.80;
|
||||
let Test.274 : List [C {}, C {}, C Str] = CallByName List.13 Test.81 Test.297;
|
||||
let Test.273 : {List [C {}, C {}, C Str], {}} = CallByName Test.23 Test.274;
|
||||
dec Test.274;
|
||||
ret Test.273;
|
||||
|
||||
procedure Test.24 (Test.80, Test.81):
|
||||
let Test.355 : Str = CallByName Test.20 Test.80;
|
||||
let Test.354 : List Str = CallByName List.13 Test.81 Test.355;
|
||||
let Test.353 : {List Str, {}} = CallByName Test.23 Test.354;
|
||||
dec Test.354;
|
||||
ret Test.353;
|
||||
|
||||
procedure Test.3 ():
|
||||
|
@ -311,6 +320,7 @@ procedure Test.63 (Test.64, Test.279, #Attr.12):
|
|||
let Test.332 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.331 Test.332;
|
||||
let Test.325 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
dec Test.61;
|
||||
ret Test.325;
|
||||
|
||||
procedure Test.63 (Test.64, Test.279, #Attr.12):
|
||||
|
@ -320,6 +330,7 @@ procedure Test.63 (Test.64, Test.279, #Attr.12):
|
|||
let Test.288 : U64 = CallByName List.6 Test.61;
|
||||
let Test.65 : List U8 = CallByName Test.4 Test.64 Test.287 Test.288;
|
||||
let Test.281 : List U8 = CallByName List.18 Test.61 Test.65 Test.62;
|
||||
dec Test.61;
|
||||
ret Test.281;
|
||||
|
||||
procedure Test.66 (Test.67, Test.68, Test.62):
|
||||
|
|
|
@ -2,80 +2,81 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.23;
|
||||
|
||||
procedure List.107 (List.491, List.492, List.493):
|
||||
let List.595 : U64 = 0i64;
|
||||
let List.596 : U64 = CallByName List.6 List.491;
|
||||
let List.594 : [C U64, C U64] = CallByName List.80 List.491 List.492 List.493 List.595 List.596;
|
||||
ret List.594;
|
||||
procedure List.110 (List.539, List.540, List.541):
|
||||
let List.643 : U64 = 0i64;
|
||||
let List.644 : U64 = CallByName List.6 List.539;
|
||||
let List.642 : [C U64, C U64] = CallByName List.80 List.539 List.540 List.541 List.643 List.644;
|
||||
ret List.642;
|
||||
|
||||
procedure List.26 (List.204, List.205, List.206):
|
||||
let List.588 : [C U64, C U64] = CallByName List.107 List.204 List.205 List.206;
|
||||
let List.591 : U8 = 1i64;
|
||||
let List.592 : U8 = GetTagId List.588;
|
||||
let List.593 : Int1 = lowlevel Eq List.591 List.592;
|
||||
if List.593 then
|
||||
let List.207 : U64 = UnionAtIndex (Id 1) (Index 0) List.588;
|
||||
ret List.207;
|
||||
procedure List.26 (List.207, List.208, List.209):
|
||||
let List.636 : [C U64, C U64] = CallByName List.110 List.207 List.208 List.209;
|
||||
let List.639 : U8 = 1i64;
|
||||
let List.640 : U8 = GetTagId List.636;
|
||||
let List.641 : Int1 = lowlevel Eq List.639 List.640;
|
||||
if List.641 then
|
||||
let List.210 : U64 = UnionAtIndex (Id 1) (Index 0) List.636;
|
||||
ret List.210;
|
||||
else
|
||||
let List.208 : U64 = UnionAtIndex (Id 0) (Index 0) List.588;
|
||||
ret List.208;
|
||||
let List.211 : U64 = UnionAtIndex (Id 0) (Index 0) List.636;
|
||||
ret List.211;
|
||||
|
||||
procedure List.38 (List.347, List.348):
|
||||
let List.587 : U64 = CallByName List.6 List.347;
|
||||
let List.349 : U64 = CallByName Num.77 List.587 List.348;
|
||||
let List.577 : List U8 = CallByName List.43 List.347 List.349;
|
||||
ret List.577;
|
||||
procedure List.38 (List.395, List.396):
|
||||
let List.635 : U64 = CallByName List.6 List.395;
|
||||
let List.397 : U64 = CallByName Num.77 List.635 List.396;
|
||||
let List.625 : List U8 = CallByName List.43 List.395 List.397;
|
||||
ret List.625;
|
||||
|
||||
procedure List.43 (List.345, List.346):
|
||||
let List.585 : U64 = CallByName List.6 List.345;
|
||||
let List.584 : U64 = CallByName Num.77 List.585 List.346;
|
||||
let List.579 : {U64, U64} = Struct {List.346, List.584};
|
||||
let List.578 : List U8 = CallByName List.49 List.345 List.579;
|
||||
ret List.578;
|
||||
procedure List.43 (List.393, List.394):
|
||||
let List.633 : U64 = CallByName List.6 List.393;
|
||||
let List.632 : U64 = CallByName Num.77 List.633 List.394;
|
||||
let List.627 : {U64, U64} = Struct {List.394, List.632};
|
||||
let List.626 : List U8 = CallByName List.49 List.393 List.627;
|
||||
ret List.626;
|
||||
|
||||
procedure List.49 (List.423, List.424):
|
||||
let List.581 : U64 = StructAtIndex 1 List.424;
|
||||
let List.582 : U64 = StructAtIndex 0 List.424;
|
||||
let List.580 : List U8 = CallByName List.72 List.423 List.581 List.582;
|
||||
ret List.580;
|
||||
procedure List.49 (List.471, List.472):
|
||||
let List.629 : U64 = StructAtIndex 1 List.472;
|
||||
let List.630 : U64 = StructAtIndex 0 List.472;
|
||||
let List.628 : List U8 = CallByName List.72 List.471 List.629 List.630;
|
||||
ret List.628;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.586 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.586;
|
||||
let List.634 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.634;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.609 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.609;
|
||||
let List.657 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.657;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.583 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.583;
|
||||
let List.631 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.631;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.597 List.494 List.495 List.496 List.497 List.498:
|
||||
let List.599 : Int1 = CallByName Num.22 List.497 List.498;
|
||||
if List.599 then
|
||||
let List.608 : U8 = CallByName List.66 List.494 List.497;
|
||||
let List.600 : [C U64, C U64] = CallByName Test.3 List.495 List.608;
|
||||
let List.605 : U8 = 1i64;
|
||||
let List.606 : U8 = GetTagId List.600;
|
||||
let List.607 : Int1 = lowlevel Eq List.605 List.606;
|
||||
if List.607 then
|
||||
let List.499 : U64 = UnionAtIndex (Id 1) (Index 0) List.600;
|
||||
let List.603 : U64 = 1i64;
|
||||
let List.602 : U64 = CallByName Num.51 List.497 List.603;
|
||||
jump List.597 List.494 List.499 List.496 List.602 List.498;
|
||||
joinpoint List.645 List.542 List.543 List.544 List.545 List.546:
|
||||
let List.647 : Int1 = CallByName Num.22 List.545 List.546;
|
||||
if List.647 then
|
||||
let List.656 : U8 = CallByName List.66 List.542 List.545;
|
||||
let List.648 : [C U64, C U64] = CallByName Test.3 List.543 List.656;
|
||||
let List.653 : U8 = 1i64;
|
||||
let List.654 : U8 = GetTagId List.648;
|
||||
let List.655 : Int1 = lowlevel Eq List.653 List.654;
|
||||
if List.655 then
|
||||
let List.547 : U64 = UnionAtIndex (Id 1) (Index 0) List.648;
|
||||
let List.651 : U64 = 1i64;
|
||||
let List.650 : U64 = CallByName Num.51 List.545 List.651;
|
||||
jump List.645 List.542 List.547 List.544 List.650 List.546;
|
||||
else
|
||||
dec List.494;
|
||||
let List.500 : U64 = UnionAtIndex (Id 0) (Index 0) List.600;
|
||||
let List.604 : [C U64, C U64] = TagId(0) List.500;
|
||||
ret List.604;
|
||||
dec List.542;
|
||||
let List.548 : U64 = UnionAtIndex (Id 0) (Index 0) List.648;
|
||||
let List.652 : [C U64, C U64] = TagId(0) List.548;
|
||||
ret List.652;
|
||||
else
|
||||
dec List.494;
|
||||
let List.598 : [C U64, C U64] = TagId(1) List.495;
|
||||
ret List.598;
|
||||
dec List.542;
|
||||
let List.646 : [C U64, C U64] = TagId(1) List.543;
|
||||
ret List.646;
|
||||
in
|
||||
jump List.597 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
inc #Derived_gen.0;
|
||||
jump List.645 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
@ -96,7 +97,6 @@ procedure Test.3 (Test.4, Test.12):
|
|||
procedure Test.0 (Test.1):
|
||||
let Test.10 : U64 = 0i64;
|
||||
let Test.11 : {} = Struct {};
|
||||
inc Test.1;
|
||||
let Test.2 : U64 = CallByName List.26 Test.1 Test.10 Test.11;
|
||||
let Test.9 : U64 = 0i64;
|
||||
let Test.7 : Int1 = CallByName Bool.11 Test.2 Test.9;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue