Do not attempt to handle aliasing of procs in variable assignments

Please see the comment in the diff to explain the rationale of this
change.

Closes #4636
This commit is contained in:
Ayaz Hafiz 2022-12-01 15:20:15 -06:00
parent 2dfe0276e4
commit 68e364d897
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
10 changed files with 119 additions and 31 deletions

View file

@ -0,0 +1,13 @@
procedure Test.1 (Test.5):
let Test.9 : U64 = 1i64;
ret Test.9;
procedure Test.2 (Test.3):
let Test.8 : {} = Struct {};
let Test.7 : U64 = CallByName Test.1 Test.8;
ret Test.7;
procedure Test.0 ():
let Test.4 : {} = Struct {};
let Test.6 : U64 = CallByName Test.2 Test.4;
ret Test.6;

View file

@ -1,7 +1,8 @@
procedure Test.2 (Test.3):
procedure Test.1 (Test.3):
ret Test.3;
procedure Test.0 ():
let Test.2 : {} = Struct {};
let Test.6 : I64 = 42i64;
let Test.5 : I64 = CallByName Test.2 Test.6;
let Test.5 : I64 = CallByName Test.1 Test.6;
ret Test.5;

View file

@ -14,12 +14,12 @@ procedure Test.16 (Test.54):
ret Test.56;
procedure Test.2 (Test.7, Test.8):
let Test.9 : [C {} {}, C {} {}] = TagId(0) Test.7 Test.8;
ret Test.9;
let Test.30 : [C {} {}, C {} {}] = TagId(0) Test.7 Test.8;
ret Test.30;
procedure Test.2 (Test.7, Test.8):
let Test.9 : [C {} {}, C {} {}] = TagId(1) Test.7 Test.8;
ret Test.9;
let Test.44 : [C {} {}, C {} {}] = TagId(1) Test.7 Test.8;
ret Test.44;
procedure Test.3 (Test.17):
let Test.36 : {} = Struct {};

View file

@ -49,8 +49,8 @@ procedure Test.0 ():
jump Test.16 Test.17;
case 1:
let Test.2 : [C , C U64, C {}] = TagId(0) ;
jump Test.16 Test.2;
let Test.23 : [C , C U64, C {}] = TagId(0) ;
jump Test.16 Test.23;
default:
let Test.26 : U64 = 1i64;

View file

@ -50,8 +50,8 @@ procedure Test.0 ():
in
let Test.23 : Int1 = CallByName Bool.2;
if Test.23 then
let Test.7 : [C I64, C I64 Int1] = TagId(0) Test.4;
jump Test.20 Test.7;
let Test.19 : [C I64, C I64 Int1] = TagId(0) Test.4;
jump Test.20 Test.19;
else
let Test.8 : [C I64, C I64 Int1] = TagId(1) Test.5 Test.6;
jump Test.20 Test.8;
let Test.19 : [C I64, C I64 Int1] = TagId(1) Test.5 Test.6;
jump Test.20 Test.19;

View file

@ -41,8 +41,8 @@ procedure Test.0 ():
in
let Test.20 : Int1 = CallByName Bool.2;
if Test.20 then
let Test.6 : [C I64, C I64] = TagId(0) Test.4;
jump Test.18 Test.6;
let Test.17 : [C I64, C I64] = TagId(0) Test.4;
jump Test.18 Test.17;
else
let Test.7 : [C I64, C I64] = TagId(1) Test.5;
jump Test.18 Test.7;
let Test.17 : [C I64, C I64] = TagId(1) Test.5;
jump Test.18 Test.17;

View file

@ -1,6 +1,6 @@
procedure Test.1 (Test.2):
let Test.3 : Int1 = false;
ret Test.3;
let Test.14 : Int1 = false;
ret Test.14;
procedure Test.3 (Test.13):
let Test.15 : Str = "t1";