roc/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt
Anton-4 c93e27ca9a
added List.keep_if_try! (#7804)
* added keep_if_try!

* cleanup types

* cleanup var name
2025-05-21 14:12:24 -05:00

107 lines
4 KiB
Text
Generated

procedure Bool.9 (#Attr.2, #Attr.3):
let Bool.21 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.21;
procedure List.119 (List.582, List.583, List.584):
let List.712 : U64 = 0i64;
let List.713 : U64 = CallByName List.6 List.582;
let List.711 : [C U64, C U64] = CallByName List.80 List.582 List.583 List.584 List.712 List.713;
ret List.711;
procedure List.26 (List.216, List.217, List.218):
let List.705 : [C U64, C U64] = CallByName List.119 List.216 List.217 List.218;
let List.708 : U8 = 1i64;
let List.709 : U8 = GetTagId List.705;
let List.710 : Int1 = lowlevel Eq List.708 List.709;
if List.710 then
let List.219 : U64 = UnionAtIndex (Id 1) (Index 0) List.705;
ret List.219;
else
let List.220 : U64 = UnionAtIndex (Id 0) (Index 0) List.705;
ret List.220;
procedure List.38 (List.413, List.414):
let List.704 : U64 = CallByName List.6 List.413;
let List.415 : U64 = CallByName Num.77 List.704 List.414;
let List.694 : List U8 = CallByName List.43 List.413 List.415;
ret List.694;
procedure List.43 (List.411, List.412):
let List.702 : U64 = CallByName List.6 List.411;
let List.701 : U64 = CallByName Num.77 List.702 List.412;
let List.696 : {U64, U64} = Struct {List.412, List.701};
let List.695 : List U8 = CallByName List.49 List.411 List.696;
ret List.695;
procedure List.49 (List.489, List.490):
let List.698 : U64 = StructAtIndex 1 List.490;
let List.699 : U64 = StructAtIndex 0 List.490;
let List.697 : List U8 = CallByName List.72 List.489 List.698 List.699;
ret List.697;
procedure List.6 (#Attr.2):
let List.703 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.703;
procedure List.66 (#Attr.2, #Attr.3):
let List.726 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.726;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.700 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.700;
procedure List.80 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
joinpoint List.714 List.585 List.586 List.587 List.588 List.589:
let List.716 : Int1 = CallByName Num.22 List.588 List.589;
if List.716 then
let List.725 : U8 = CallByName List.66 List.585 List.588;
let List.717 : [C U64, C U64] = CallByName Test.3 List.586 List.725;
let List.722 : U8 = 1i64;
let List.723 : U8 = GetTagId List.717;
let List.724 : Int1 = lowlevel Eq List.722 List.723;
if List.724 then
let List.590 : U64 = UnionAtIndex (Id 1) (Index 0) List.717;
let List.720 : U64 = 1i64;
let List.719 : U64 = CallByName Num.51 List.588 List.720;
jump List.714 List.585 List.590 List.587 List.719 List.589;
else
dec List.585;
let List.591 : U64 = UnionAtIndex (Id 0) (Index 0) List.717;
let List.721 : [C U64, C U64] = TagId(0) List.591;
ret List.721;
else
dec List.585;
let List.715 : [C U64, C U64] = TagId(1) List.586;
ret List.715;
in
inc Bool.22;
jump List.714 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.290 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.290;
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 {};
let Test.2 : U64 = CallByName List.26 Test.1 Test.10 Test.11;
let Test.9 : U64 = 0i64;
let Test.7 : Int1 = CallByName Bool.9 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;