roc/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt
Fabian Schmalzried 4586147ee8
fix test-mono
2024-04-01 21:08:15 +02:00

107 lines
4.1 KiB
Text
Generated

procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.23;
procedure List.103 (List.487, List.488, List.489):
let List.590 : U64 = 0i64;
let List.591 : U64 = CallByName List.6 List.487;
let List.589 : [C U64, C U64] = CallByName List.80 List.487 List.488 List.489 List.590 List.591;
ret List.589;
procedure List.26 (List.200, List.201, List.202):
let List.583 : [C U64, C U64] = CallByName List.103 List.200 List.201 List.202;
let List.586 : U8 = 1i64;
let List.587 : U8 = GetTagId List.583;
let List.588 : Int1 = lowlevel Eq List.586 List.587;
if List.588 then
let List.203 : U64 = UnionAtIndex (Id 1) (Index 0) List.583;
ret List.203;
else
let List.204 : U64 = UnionAtIndex (Id 0) (Index 0) List.583;
ret List.204;
procedure List.38 (List.343, List.344):
let List.582 : U64 = CallByName List.6 List.343;
let List.345 : U64 = CallByName Num.77 List.582 List.344;
let List.572 : List U8 = CallByName List.43 List.343 List.345;
ret List.572;
procedure List.43 (List.341, List.342):
let List.580 : U64 = CallByName List.6 List.341;
let List.579 : U64 = CallByName Num.77 List.580 List.342;
let List.574 : {U64, U64} = Struct {List.342, List.579};
let List.573 : List U8 = CallByName List.49 List.341 List.574;
ret List.573;
procedure List.49 (List.419, List.420):
let List.576 : U64 = StructAtIndex 1 List.420;
let List.577 : U64 = StructAtIndex 0 List.420;
let List.575 : List U8 = CallByName List.72 List.419 List.576 List.577;
ret List.575;
procedure List.6 (#Attr.2):
let List.581 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.581;
procedure List.66 (#Attr.2, #Attr.3):
let List.604 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.604;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.578 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.578;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.592 List.490 List.491 List.492 List.493 List.494:
let List.594 : Int1 = CallByName Num.22 List.493 List.494;
if List.594 then
let List.603 : U8 = CallByName List.66 List.490 List.493;
let List.595 : [C U64, C U64] = CallByName Test.3 List.491 List.603;
let List.600 : U8 = 1i64;
let List.601 : U8 = GetTagId List.595;
let List.602 : Int1 = lowlevel Eq List.600 List.601;
if List.602 then
let List.495 : U64 = UnionAtIndex (Id 1) (Index 0) List.595;
let List.598 : U64 = 1i64;
let List.597 : U64 = CallByName Num.51 List.493 List.598;
jump List.592 List.490 List.495 List.492 List.597 List.494;
else
dec List.490;
let List.496 : U64 = UnionAtIndex (Id 0) (Index 0) List.595;
let List.599 : [C U64, C U64] = TagId(0) List.496;
ret List.599;
else
dec List.490;
let List.593 : [C U64, C U64] = TagId(1) List.491;
ret List.593;
in
jump List.592 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.278 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.278;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.277 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.277;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.276 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.276;
procedure Test.3 (Test.4, Test.12):
let Test.13 : [C U64, C U64] = TagId(0) Test.4;
ret Test.13;
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;
if Test.7 then
ret Test.1;
else
let Test.6 : List U8 = CallByName List.38 Test.1 Test.2;
ret Test.6;