mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 20:28:02 +00:00
Load as a stack pointer
This commit is contained in:
parent
fde75d5432
commit
8d9c6d09b9
7 changed files with 32 additions and 27 deletions
|
@ -60,32 +60,28 @@ procedure Test.0 ():
|
|||
joinpoint Test.8 Test.5:
|
||||
ret Test.5;
|
||||
in
|
||||
let Test.9 : Boxed([]) = ErasedLoad Test.7 .Value;
|
||||
let Test.11 : Boxed([]) = NullPointer;
|
||||
let Test.9 : Ptr([]) = ErasedLoad Test.7 .ValuePtr;
|
||||
let Test.11 : Ptr([]) = NullPointer;
|
||||
let Test.10 : Int1 = lowlevel Eq Test.9 Test.11;
|
||||
dec Test.11;
|
||||
dec Test.9;
|
||||
if Test.10 then
|
||||
dec Test.7;
|
||||
let Test.12 : FunPtr(({}) -> Str) = ErasedLoad Test.7 .Callee;
|
||||
let Test.13 : Str = CallByPtr Test.12 Test.6;
|
||||
jump Test.8 Test.13;
|
||||
else
|
||||
inc Test.7;
|
||||
let Test.14 : FunPtr(({}, ?Erased) -> Str) = ErasedLoad Test.7 .Callee;
|
||||
let Test.15 : Str = CallByPtr Test.14 Test.6 Test.7;
|
||||
jump Test.8 Test.15;
|
||||
in
|
||||
let Test.19 : Boxed([]) = ErasedLoad Test.17 .Value;
|
||||
let Test.21 : Boxed([]) = NullPointer;
|
||||
let Test.19 : Ptr([]) = ErasedLoad Test.17 .ValuePtr;
|
||||
let Test.21 : Ptr([]) = NullPointer;
|
||||
let Test.20 : Int1 = lowlevel Eq Test.19 Test.21;
|
||||
dec Test.21;
|
||||
dec Test.19;
|
||||
if Test.20 then
|
||||
dec Test.17;
|
||||
let Test.22 : FunPtr((Str) -> ?Erased) = ErasedLoad Test.17 .Callee;
|
||||
let Test.23 : ?Erased = CallByPtr Test.22 Test.16;
|
||||
jump Test.18 Test.23;
|
||||
else
|
||||
inc Test.17;
|
||||
let Test.24 : FunPtr((Str, ?Erased) -> ?Erased) = ErasedLoad Test.17 .Callee;
|
||||
let Test.25 : ?Erased = CallByPtr Test.24 Test.16 Test.17;
|
||||
jump Test.18 Test.25;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue