Remove tag_name from Expr::Tag

This commit is contained in:
Ayaz Hafiz 2022-07-03 15:12:51 -04:00
parent 2d169bf518
commit 2726a3506f
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
30 changed files with 70 additions and 86 deletions

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.268 : Int1 = CallByName Num.22 List.75 List.272;
if List.268 then
let List.270 : {} = CallByName List.60 List.74 List.75;
let List.269 : [C {}, C {}] = Ok List.270;
let List.269 : [C {}, C {}] = TagId(1) List.270;
ret List.269;
else
let List.267 : {} = Struct {};
let List.266 : [C {}, C {}] = Err List.267;
let List.266 : [C {}, C {}] = TagId(0) List.267;
ret List.266;
procedure List.6 (#Attr.2):

View file

@ -3,11 +3,11 @@ procedure Num.40 (#Attr.2, #Attr.3):
let Num.190 : Int1 = lowlevel NotEq #Attr.3 Num.193;
if Num.190 then
let Num.192 : I64 = lowlevel NumDivUnchecked #Attr.2 #Attr.3;
let Num.191 : [C {}, C I64] = Ok Num.192;
let Num.191 : [C {}, C I64] = TagId(1) Num.192;
ret Num.191;
else
let Num.189 : {} = Struct {};
let Num.188 : [C {}, C I64] = Err Num.189;
let Num.188 : [C {}, C I64] = TagId(0) Num.189;
ret Num.188;
procedure Test.0 ():

View file

@ -4,7 +4,7 @@ procedure Num.19 (#Attr.2, #Attr.3):
procedure Test.0 ():
let Test.10 : I64 = 41i64;
let Test.1 : [C I64, C ] = Just Test.10;
let Test.1 : [C I64, C ] = TagId(0) Test.10;
let Test.7 : U8 = 0i64;
let Test.8 : U8 = GetTagId Test.1;
let Test.9 : Int1 = lowlevel Eq Test.7 Test.8;

View file

@ -1,6 +1,6 @@
procedure Test.0 ():
let Test.9 : I64 = 3i64;
let Test.3 : [C I64, C ] = Just Test.9;
let Test.3 : [C I64, C ] = TagId(0) Test.9;
let Test.6 : U8 = 0i64;
let Test.7 : U8 = GetTagId Test.3;
let Test.8 : Int1 = lowlevel Eq Test.6 Test.7;

View file

@ -1,7 +1,7 @@
procedure Test.0 ():
let Test.10 : I64 = 1i64;
let Test.11 : I64 = 2i64;
let Test.5 : [C I64, C I64 I64, C I64] = These Test.10 Test.11;
let Test.5 : [C I64, C I64 I64, C I64] = TagId(1) Test.10 Test.11;
let Test.9 : U8 = GetTagId Test.5;
switch Test.9:
case 2:

View file

@ -11,8 +11,8 @@ procedure Test.3 (Test.4):
procedure Test.0 ():
let Test.16 : I64 = 2i64;
let Test.17 : [<rnu><null>, C I64 *self] = Nil ;
let Test.10 : [<rnu><null>, C I64 *self] = Cons Test.16 Test.17;
let Test.17 : [<rnu><null>, C I64 *self] = TagId(1) ;
let Test.10 : [<rnu><null>, C I64 *self] = TagId(0) Test.16 Test.17;
let Test.9 : Int1 = CallByName Test.3 Test.10;
dec Test.10;
ret Test.9;

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.277 : Int1 = CallByName Num.22 List.75 List.281;
if List.277 then
let List.279 : I64 = CallByName List.60 List.74 List.75;
let List.278 : [C {}, C I64] = Ok List.279;
let List.278 : [C {}, C I64] = TagId(1) List.279;
ret List.278;
else
let List.276 : {} = Struct {};
let List.275 : [C {}, C I64] = Err List.276;
let List.275 : [C {}, C I64] = TagId(0) List.276;
ret List.275;
procedure List.6 (#Attr.2):
@ -26,11 +26,11 @@ procedure List.9 (List.188):
let List.272 : Int1 = lowlevel Eq List.270 List.271;
if List.272 then
let List.189 : I64 = UnionAtIndex (Id 1) (Index 0) List.266;
let List.267 : [C Int1, C I64] = Ok List.189;
let List.267 : [C Int1, C I64] = TagId(1) List.189;
ret List.267;
else
let List.269 : Int1 = true;
let List.268 : [C Int1, C I64] = Err List.269;
let List.268 : [C Int1, C I64] = TagId(0) List.269;
ret List.268;
procedure Num.22 (#Attr.2, #Attr.3):
@ -44,11 +44,11 @@ procedure Str.27 (#Attr.2):
let Str.39 : Int1 = lowlevel NumGt Str.42 Str.43;
if Str.39 then
let Str.41 : Int1 = false;
let Str.40 : [C Int1, C I64] = Err Str.41;
let Str.40 : [C Int1, C I64] = TagId(0) Str.41;
ret Str.40;
else
let Str.38 : I64 = StructAtIndex 0 #Attr.3;
let Str.37 : [C Int1, C I64] = Ok Str.38;
let Str.37 : [C Int1, C I64] = TagId(1) Str.38;
ret Str.37;
procedure Test.0 ():

View file

@ -1,6 +1,6 @@
procedure Test.0 ():
let Test.19 : [C [<rnnu>C [C *self, C ]], C ] = SystemTool ;
let Test.17 : [<rnnu>C [C *self, C ]] = Job Test.19;
let Test.16 : [C [<rnnu>C [C *self, C ]], C ] = FromJob Test.17;
let Test.7 : [<rnnu>C [C *self, C ]] = Job Test.16;
let Test.19 : [C [<rnnu>C [C *self, C ]], C ] = TagId(1) ;
let Test.17 : [<rnnu>C [C *self, C ]] = TagId(0) Test.19;
let Test.16 : [C [<rnnu>C [C *self, C ]], C ] = TagId(0) Test.17;
let Test.7 : [<rnnu>C [C *self, C ]] = TagId(0) Test.16;
ret Test.7;

View file

@ -7,11 +7,11 @@ procedure Num.94 (#Attr.2):
ret Num.189;
procedure Test.1 (Test.4):
let Test.16 : [C U8, C U64] = ClosureTag(Test.5) Test.4;
let Test.16 : [C U8, C U64] = TagId(1) Test.4;
ret Test.16;
procedure Test.1 (Test.4):
let Test.22 : [C U8, C U64] = ClosureTag(Test.5) Test.4;
let Test.22 : [C U8, C U64] = TagId(0) Test.4;
ret Test.22;
procedure Test.5 (Test.17, #Attr.12):

View file

@ -17,11 +17,11 @@ procedure Test.16 (Test.54):
ret Test.56;
procedure Test.2 (Test.7, Test.8):
let Test.9 : [C {} {}, C {} {}] = ClosureTag(Test.9) Test.7 Test.8;
let Test.9 : [C {} {}, C {} {}] = TagId(0) Test.7 Test.8;
ret Test.9;
procedure Test.2 (Test.7, Test.8):
let Test.9 : [C {} {}, C {} {}] = ClosureTag(Test.9) Test.7 Test.8;
let Test.9 : [C {} {}, C {} {}] = TagId(1) Test.7 Test.8;
ret Test.9;
procedure Test.3 (Test.17):

View file

@ -1,9 +1,9 @@
procedure Test.1 (Test.5):
let Test.19 : [C , C U64, C {}] = ClosureTag(Test.6) Test.5;
let Test.19 : [C , C U64, C {}] = TagId(2) Test.5;
ret Test.19;
procedure Test.1 (Test.5):
let Test.27 : [C , C U64, C {}] = ClosureTag(Test.6) Test.5;
let Test.27 : [C , C U64, C {}] = TagId(1) Test.5;
ret Test.27;
procedure Test.2 (Test.8):
@ -49,7 +49,7 @@ procedure Test.0 ():
jump Test.16 Test.17;
case 1:
let Test.2 : [C , C U64, C {}] = ClosureTag(Test.2) ;
let Test.2 : [C , C U64, C {}] = TagId(0) ;
jump Test.16 Test.2;
default:

View file

@ -1,13 +1,13 @@
procedure Test.1 (Test.5):
let Test.20 : [C U64, C {}, C Str] = ClosureTag(Test.6) Test.5;
let Test.20 : [C U64, C {}, C Str] = TagId(1) Test.5;
ret Test.20;
procedure Test.1 (Test.5):
let Test.32 : [C U64, C {}, C Str] = ClosureTag(Test.6) Test.5;
let Test.32 : [C U64, C {}, C Str] = TagId(0) Test.5;
ret Test.32;
procedure Test.2 (Test.7):
let Test.26 : [C U64, C {}, C Str] = ClosureTag(Test.8) Test.7;
let Test.26 : [C U64, C {}, C Str] = TagId(2) Test.7;
ret Test.26;
procedure Test.6 (Test.21, #Attr.12):

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.268 : Int1 = CallByName Num.22 List.75 List.272;
if List.268 then
let List.270 : I64 = CallByName List.60 List.74 List.75;
let List.269 : [C {}, C I64] = Ok List.270;
let List.269 : [C {}, C I64] = TagId(1) List.270;
ret List.269;
else
let List.267 : {} = Struct {};
let List.266 : [C {}, C I64] = Err List.267;
let List.266 : [C {}, C I64] = TagId(0) List.267;
ret List.266;
procedure List.6 (#Attr.2):

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.268 : Int1 = CallByName Num.22 List.75 List.272;
if List.268 then
let List.270 : Str = CallByName List.60 List.74 List.75;
let List.269 : [C {}, C Str] = Ok List.270;
let List.269 : [C {}, C Str] = TagId(1) List.270;
ret List.269;
else
let List.267 : {} = Struct {};
let List.266 : [C {}, C Str] = Err List.267;
let List.266 : [C {}, C Str] = TagId(0) List.267;
ret List.266;
procedure List.5 (#Attr.2, #Attr.3):

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.268 : Int1 = CallByName Num.22 List.75 List.272;
if List.268 then
let List.270 : Str = CallByName List.60 List.74 List.75;
let List.269 : [C {}, C Str] = Ok List.270;
let List.269 : [C {}, C Str] = TagId(1) List.270;
ret List.269;
else
let List.267 : {} = Struct {};
let List.266 : [C {}, C Str] = Err List.267;
let List.266 : [C {}, C Str] = TagId(0) List.267;
ret List.266;
procedure List.5 (#Attr.2, #Attr.3):

View file

@ -15,6 +15,6 @@ procedure Test.2 (Test.4):
procedure Test.0 ():
let Test.13 : Str = "A";
let Test.1 : [C Str, C Str] = A Test.13;
let Test.1 : [C Str, C Str] = TagId(0) Test.13;
let Test.7 : Str = CallByName Test.2 Test.1;
ret Test.7;

View file

@ -4,8 +4,8 @@ procedure Num.19 (#Attr.2, #Attr.3):
procedure Test.0 ():
let Test.19 : I64 = 41i64;
let Test.18 : [C I64, C ] = Just Test.19;
let Test.2 : [C [C I64, C ], C ] = Just Test.18;
let Test.18 : [C I64, C ] = TagId(0) Test.19;
let Test.2 : [C [C I64, C ], C ] = TagId(0) Test.18;
joinpoint Test.15:
let Test.8 : I64 = 1i64;
ret Test.8;

View file

@ -1,5 +1,5 @@
procedure Test.3 (Test.4):
let Test.8 : [C {}, C U8] = Ok Test.4;
let Test.8 : [C {}, C U8] = TagId(1) Test.4;
ret Test.8;
procedure Test.0 ():

View file

@ -1,6 +1,6 @@
procedure Test.0 ():
let Test.11 : [<rnu><null>, C *self] = Z ;
let Test.10 : [<rnu><null>, C *self] = S Test.11;
let Test.9 : [<rnu><null>, C *self] = S Test.10;
let Test.3 : [<rnu><null>, C *self] = S Test.9;
let Test.11 : [<rnu><null>, C *self] = TagId(1) ;
let Test.10 : [<rnu><null>, C *self] = TagId(0) Test.11;
let Test.9 : [<rnu><null>, C *self] = TagId(0) Test.10;
let Test.3 : [<rnu><null>, C *self] = TagId(0) Test.9;
ret Test.3;

View file

@ -1,8 +1,8 @@
procedure Test.0 ():
let Test.15 : [<rnu><null>, C *self] = Z ;
let Test.14 : [<rnu><null>, C *self] = S Test.15;
let Test.13 : [<rnu><null>, C *self] = S Test.14;
let Test.3 : [<rnu><null>, C *self] = S Test.13;
let Test.15 : [<rnu><null>, C *self] = TagId(1) ;
let Test.14 : [<rnu><null>, C *self] = TagId(0) Test.15;
let Test.13 : [<rnu><null>, C *self] = TagId(0) Test.14;
let Test.3 : [<rnu><null>, C *self] = TagId(0) Test.13;
let Test.10 : Int1 = 1i64;
let Test.11 : Int1 = GetTagId Test.3;
dec Test.3;

View file

@ -1,8 +1,8 @@
procedure Test.0 ():
let Test.21 : [<rnu><null>, C *self] = Z ;
let Test.20 : [<rnu><null>, C *self] = S Test.21;
let Test.19 : [<rnu><null>, C *self] = S Test.20;
let Test.3 : [<rnu><null>, C *self] = S Test.19;
let Test.21 : [<rnu><null>, C *self] = TagId(1) ;
let Test.20 : [<rnu><null>, C *self] = TagId(0) Test.21;
let Test.19 : [<rnu><null>, C *self] = TagId(0) Test.20;
let Test.3 : [<rnu><null>, C *self] = TagId(0) Test.19;
let Test.16 : Int1 = 0i64;
let Test.17 : Int1 = GetTagId Test.3;
let Test.18 : Int1 = lowlevel Eq Test.16 Test.17;

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.282 : Int1 = CallByName Num.22 List.75 List.286;
if List.282 then
let List.284 : I64 = CallByName List.60 List.74 List.75;
let List.283 : [C {}, C I64] = Ok List.284;
let List.283 : [C {}, C I64] = TagId(1) List.284;
ret List.283;
else
let List.281 : {} = Struct {};
let List.280 : [C {}, C I64] = Err List.281;
let List.280 : [C {}, C I64] = TagId(0) List.281;
ret List.280;
procedure List.3 (List.82, List.83, List.84):

View file

@ -3,11 +3,11 @@ procedure List.2 (List.74, List.75):
let List.282 : Int1 = CallByName Num.22 List.75 List.286;
if List.282 then
let List.284 : I64 = CallByName List.60 List.74 List.75;
let List.283 : [C {}, C I64] = Ok List.284;
let List.283 : [C {}, C I64] = TagId(1) List.284;
ret List.283;
else
let List.281 : {} = Struct {};
let List.280 : [C {}, C I64] = Err List.281;
let List.280 : [C {}, C I64] = TagId(0) List.281;
ret List.280;
procedure List.3 (List.82, List.83, List.84):

View file

@ -46,8 +46,8 @@ procedure Test.0 ():
in
let Test.25 : Int1 = true;
if Test.25 then
let Test.7 : [C I64, C I64 Int1] = ClosureTag(Test.7) Test.4;
let Test.7 : [C I64, C I64 Int1] = TagId(0) Test.4;
jump Test.22 Test.7;
else
let Test.8 : [C I64, C I64 Int1] = ClosureTag(Test.8) Test.5 Test.6;
let Test.8 : [C I64, C I64 Int1] = TagId(1) Test.5 Test.6;
jump Test.22 Test.8;

View file

@ -37,8 +37,8 @@ procedure Test.0 ():
in
let Test.21 : Int1 = true;
if Test.21 then
let Test.6 : [C I64, C I64] = ClosureTag(Test.6) Test.4;
let Test.6 : [C I64, C I64] = TagId(0) Test.4;
jump Test.19 Test.6;
else
let Test.7 : [C I64, C I64] = ClosureTag(Test.7) Test.5;
let Test.7 : [C I64, C I64] = TagId(1) Test.5;
jump Test.19 Test.7;

View file

@ -4,8 +4,8 @@ procedure Num.19 (#Attr.2, #Attr.3):
procedure Test.0 ():
let Test.19 : I64 = 41i64;
let Test.18 : [C I64, C ] = Just Test.19;
let Test.2 : [C [C I64, C ], C ] = Just Test.18;
let Test.18 : [C I64, C ] = TagId(0) Test.19;
let Test.2 : [C [C I64, C ], C ] = TagId(0) Test.18;
joinpoint Test.15:
let Test.8 : I64 = 1i64;
ret Test.8;

View file

@ -1,6 +1,6 @@
procedure Test.1 (Test.5):
let Test.19 : I64 = 2i64;
let Test.2 : [C I64, C I64] = Ok Test.19;
let Test.2 : [C I64, C I64] = TagId(1) Test.19;
joinpoint Test.9 Test.3:
ret Test.3;
in