aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-22 15:30:24 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-22 15:30:24 +0100
commit86655bf820169f8bcd611003cc6767e3262dd5e0 (patch)
tree9bf91ecd9750c66080942e70bb7c1bfc124a3b1c /src/main/java
parent3bac960ff8c0efb1a1dd7a3c2c911f57bb87a85b (diff)
Support hello-world example in llvm-patio backend
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
index 3dd4dcc7..cccd5a32 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
@@ -135,6 +135,13 @@ public class LlvmPatioCodeGen {
patioTypeToLlvmType(patioLocal.type())
);
}
+ for (var patioParam : patioFunctionDefinition.params()) {
+ // TODO: allocate LLVM name for params
+ functionContext = functionContext.addPatioLocal(
+ patioParam.ref(),
+ new LlvmVariableLocal(patioParam.name())
+ );
+ }
functionContext = generateInstructions(patioFunctionDefinition.body(), functionContext);
// TODO: push into Patio?