mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
Choose non-recursion var when merging arbitrary variables, when possible.
Closes #3669
This commit is contained in:
parent
59886d4225
commit
fc9ff928eb
3 changed files with 134 additions and 48 deletions
26
crates/compiler/test_mono/generated/issue_3669.txt
Normal file
26
crates/compiler/test_mono/generated/issue_3669.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
procedure Bool.7 (#Attr.2, #Attr.3):
|
||||
let Bool.9 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.9;
|
||||
|
||||
procedure Test.2 (Test.19):
|
||||
joinpoint Test.13 Test.7:
|
||||
let Test.16 : U8 = 1i64;
|
||||
let Test.17 : U8 = GetTagId Test.7;
|
||||
let Test.18 : Int1 = lowlevel Eq Test.16 Test.17;
|
||||
if Test.18 then
|
||||
let Test.14 : {} = Struct {};
|
||||
ret Test.14;
|
||||
else
|
||||
let Test.5 : [<rnu><null>, C *self] = UnionAtIndex (Id 0) (Index 0) Test.7;
|
||||
jump Test.13 Test.5;
|
||||
in
|
||||
jump Test.13 Test.19;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.12 : [<rnu><null>, C *self] = TagId(1) ;
|
||||
let Test.10 : {} = CallByName Test.2 Test.12;
|
||||
dec Test.12;
|
||||
let Test.11 : {} = Struct {};
|
||||
let Test.8 : Int1 = CallByName Bool.7 Test.10 Test.11;
|
||||
let Test.9 : Str = "";
|
||||
ret Test.9;
|
Loading…
Add table
Add a link
Reference in a new issue