mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 04:08:19 +00:00
New IR just dropped
This commit is contained in:
parent
561a9e0037
commit
bdba56ce74
1 changed files with 41 additions and 38 deletions
|
@ -53,6 +53,7 @@ procedure List.80 (List.534, List.535, List.536, List.537, List.538):
|
|||
let List.512 : Int1 = CallByName Num.22 List.436 List.437;
|
||||
if List.512 then
|
||||
let List.521 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.433 List.436;
|
||||
inc List.521;
|
||||
let List.513 : [C {}, C {}] = CallByName List.188 List.434 List.521 List.435;
|
||||
let List.518 : U8 = 1i64;
|
||||
let List.519 : U8 = GetTagId List.513;
|
||||
|
@ -95,10 +96,8 @@ procedure Num.22 (#Attr.2, #Attr.3):
|
|||
procedure Test.1 (Test.77):
|
||||
joinpoint Test.26 Test.6:
|
||||
let Test.65 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
inc Test.65;
|
||||
let Test.66 : U8 = 0i64;
|
||||
let Test.67 : U8 = GetTagId Test.65;
|
||||
dec Test.65;
|
||||
let Test.68 : Int1 = lowlevel Eq Test.66 Test.67;
|
||||
if Test.68 then
|
||||
let Test.57 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
|
@ -110,22 +109,24 @@ procedure Test.1 (Test.77):
|
|||
if Test.60 then
|
||||
decref #Derived_gen.1;
|
||||
let Test.50 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
inc Test.50;
|
||||
let Test.8 : I64 = UnionAtIndex (Id 0) (Index 0) Test.50;
|
||||
dec Test.50;
|
||||
let Test.49 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
inc Test.49;
|
||||
dec Test.6;
|
||||
dec Test.50;
|
||||
let Test.10 : I64 = UnionAtIndex (Id 0) (Index 0) Test.49;
|
||||
dec Test.49;
|
||||
let Test.27 : Int1 = CallByName Num.22 Test.8 Test.10;
|
||||
ret Test.27;
|
||||
joinpoint #Derived_gen.7:
|
||||
let Test.27 : Int1 = CallByName Num.22 Test.8 Test.10;
|
||||
ret Test.27;
|
||||
in
|
||||
let #Derived_gen.8 : Int1 = lowlevel RefCountIsUnique Test.49;
|
||||
if #Derived_gen.8 then
|
||||
decref Test.49;
|
||||
jump #Derived_gen.7;
|
||||
else
|
||||
decref Test.49;
|
||||
jump #Derived_gen.7;
|
||||
else
|
||||
let Test.39 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
inc Test.39;
|
||||
let Test.42 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
inc Test.42;
|
||||
dec Test.6;
|
||||
let Test.41 : List [<r>C I64, C List *self] = Array [Test.42];
|
||||
let Test.40 : [<r>C I64, C List *self] = Reuse #Derived_gen.1 UpdateModeId { id: 1 } TagId(1) Test.41;
|
||||
let Test.38 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = Struct {Test.39, Test.40};
|
||||
|
@ -140,42 +141,44 @@ procedure Test.1 (Test.77):
|
|||
if Test.64 then
|
||||
decref #Derived_gen.4;
|
||||
let Test.52 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
inc Test.52;
|
||||
let Test.12 : List [<r>C I64, C List *self] = UnionAtIndex (Id 1) (Index 0) Test.52;
|
||||
inc Test.12;
|
||||
dec Test.52;
|
||||
let Test.51 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
inc Test.51;
|
||||
dec 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;
|
||||
dec Test.51;
|
||||
let Test.35 : {} = Struct {};
|
||||
inc Test.12;
|
||||
inc Test.14;
|
||||
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;
|
||||
if Test.29 then
|
||||
let Test.31 : U64 = CallByName List.6 Test.12;
|
||||
dec Test.12;
|
||||
let Test.32 : U64 = CallByName List.6 Test.14;
|
||||
dec Test.14;
|
||||
let Test.30 : Int1 = CallByName Num.22 Test.31 Test.32;
|
||||
ret Test.30;
|
||||
joinpoint #Derived_gen.9:
|
||||
let Test.35 : {} = Struct {};
|
||||
inc Test.12;
|
||||
inc Test.14;
|
||||
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;
|
||||
if Test.29 then
|
||||
let Test.31 : U64 = CallByName List.6 Test.12;
|
||||
dec Test.12;
|
||||
let Test.32 : U64 = CallByName List.6 Test.14;
|
||||
dec Test.14;
|
||||
let Test.30 : Int1 = CallByName Num.22 Test.31 Test.32;
|
||||
ret Test.30;
|
||||
else
|
||||
dec Test.12;
|
||||
dec Test.14;
|
||||
let Test.28 : Int1 = CallByName Bool.1;
|
||||
ret Test.28;
|
||||
in
|
||||
let #Derived_gen.10 : Int1 = lowlevel RefCountIsUnique Test.51;
|
||||
if #Derived_gen.10 then
|
||||
decref Test.51;
|
||||
jump #Derived_gen.9;
|
||||
else
|
||||
dec Test.12;
|
||||
dec Test.14;
|
||||
let Test.28 : Int1 = CallByName Bool.1;
|
||||
ret Test.28;
|
||||
inc Test.14;
|
||||
decref Test.51;
|
||||
jump #Derived_gen.9;
|
||||
else
|
||||
let Test.48 : [<r>C I64, C List *self] = StructAtIndex 0 Test.6;
|
||||
inc Test.48;
|
||||
let Test.47 : List [<r>C I64, C List *self] = Array [Test.48];
|
||||
let Test.45 : [<r>C I64, C List *self] = Reuse #Derived_gen.4 UpdateModeId { id: 4 } TagId(1) Test.47;
|
||||
let Test.46 : [<r>C I64, C List *self] = StructAtIndex 1 Test.6;
|
||||
inc Test.46;
|
||||
dec Test.6;
|
||||
let Test.44 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = Struct {Test.45, Test.46};
|
||||
jump Test.26 Test.44;
|
||||
in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue