aboutsummaryrefslogtreecommitdiff
path: root/nfib.ll
diff options
context:
space:
mode:
authorCamil Staps2021-01-08 11:37:49 +0100
committerCamil Staps2021-01-08 11:37:49 +0100
commit2f35a66e33bdd4ef608199c0e02864395f0f916b (patch)
tree89067ab3410d9166a199c5263c62cdbd8356aa43 /nfib.ll
parentUse malloc to allocate heap and stack (diff)
Move hp and stack pointers to beginning of function parameters in fib_* and nfib (for easier calling convention)
Diffstat (limited to 'nfib.ll')
-rw-r--r--nfib.ll12
1 files changed, 6 insertions, 6 deletions
diff --git a/nfib.ll b/nfib.ll
index dcae8f0..900bf16 100644
--- a/nfib.ll
+++ b/nfib.ll
@@ -1,4 +1,4 @@
-define private i64 @s1(i64 %arg, i64** %globasp) #0 {
+define private i64 @s1(i64** %globasp, i64 %arg) #0 {
%astack = alloca i64*, i64 10000
%asp.000 = getelementptr i64*, i64** %astack
%bstack = alloca i64, i64 10000
@@ -30,7 +30,7 @@ else.1:
%arg.0 = call i64 @peek_b(i64* %bsp.302)
%bsp.302.0 = call i64* @pop_b1(i64* %bsp.302)
- %r.0 = call i64 @s1(i64 %arg.0, i64** %globasp)
+ %r.0 = call i64 @s1(i64** %globasp, i64 %arg.0)
%bsp.303 = call i64* @pushI(i64 %r.0, i64* %bsp.302.0)
%bsp.304 = call i64* @pushI(i64 1, i64* %bsp.303)
@@ -39,7 +39,7 @@ else.1:
%arg.1 = call i64 @peek_b(i64* %bsp.306)
%bsp.306.0 = call i64* @pop_b1(i64* %bsp.306)
- %r.1 = call i64 @s1(i64 %arg.1, i64** %globasp)
+ %r.1 = call i64 @s1(i64** %globasp, i64 %arg.1)
%bsp.307 = call i64* @pushI(i64 %r.1, i64* %bsp.306.0)
%bsp.308 = call i64* @addI(i64* %bsp.307)
@@ -57,8 +57,8 @@ else.1:
ret i64 %relse
}
-define private i64 @_s2(i64 %arg, i64** %globasp) {
- %ret = tail call i64 @s1(i64 %arg, i64** %globasp)
+define private i64 @s2(i64** %globasp, i64 %arg) {
+ %ret = tail call i64 @s1(i64** %globasp, i64 %arg)
ret i64 %ret
}
@@ -66,7 +66,7 @@ define i64 @main() {
%heap = call i64* @_alloc_heap(i64 1000)
%astack = call i64** @_alloc_a_stack(i64 1000)
- %r = call i64 @_s2(i64 43, i64** %astack)
+ %r = call i64 @s2(i64** %astack, i64 43)
call i64 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @printf_d, i64 0, i64 0), i64 %r)
call i64 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @printf_c, i64 0, i64 0), i64 10)