From 65a9e58a9a650afa1090b1d3e6c40d5797c2c625 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 28 Sep 2019 13:40:11 -0300 Subject: [PATCH] emit a store for the stack fn arguments --- hello | Bin 18840 -> 18840 bytes src/codegen.zig | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hello b/hello index 4825f6802137e0db6e64b3eae72f16f4e604b49b..a4b50943101958a68325085ee3a0bce188a9117c 100755 GIT binary patch delta 147 zcmbO+nQ_Ks#tm1PM9gg$oz9Z4KJr?jMeE(I-99&>Z^~_c!E}Nzrn5%nPv-IG3=9m6 zKMqfrFd@{V^QlMk8v%!gXN;Y-KO8zr|9f;k@aRqWP{Mu8;R9p0>kq~Qui1f21|ZX; n^Gz&B7XpCH>nu_E(aU0fcr%aC7k);b&5TOdC4kgTtNnZct=UF7 delta 147 zcmbO+nQ_Ks#tm1PL?m6SnwJ*GIL6KEF<8JO-SYRx`45|4FrDCw>Go0ilX>tt0|Nu& ziNg~nObGSpeCpBsMxdegKSPO-N9O~N-h>aw96m61yZ&H2@R|=H!T=QU=zJ3k(uDxs gE-HVRT~vO6L^tyYec@;1+{~zST>?nmwA#-H03Q`aHUIzs diff --git a/src/codegen.zig b/src/codegen.zig index 38eafdd..e71517e 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -449,8 +449,11 @@ pub const Codegen = struct { std.debug.warn("SET PARAM LLVM ALLOCA {} to {}\n", param_node.name.lexeme, alloca); param.llvm_alloca = alloca; - // TODO store register into stack param - // llvm.LLVMBuildStore(builder, null, assign_expr); + _ = llvm.LLVMBuildStore( + builder, + llvm.LLVMGetParam(func, @intCast(c_uint, idx)), + alloca, + ); } self.ctx.setScope(fn_sym.scope);