aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-25 16:01:37 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-25 16:04:27 +0100
commit3988b64762f7b45a766275f77f73823a2c03c3ef (patch)
tree39e19b73d3f75969f82d8d034cacb5408a0720ff /src/main/java
parentb8ef288f0d552272b2086deb03b1d56fb25c7275 (diff)
Clarify shed locals in LlvmCodeGenContext
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java6
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenClosures.java4
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenContext.java24
3 files changed, 17 insertions, 17 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
index e0060e9d..de92b4e6 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGen.java
@@ -88,7 +88,7 @@ public class LlvmCodeGen {
false,
false
))
- .addLocal("print", new LlvmOperandPtrToInt(
+ .addShedLocal("print", new LlvmOperandPtrToInt(
new LlvmVariableGlobal("shed__runtime__print_closure"),
LlvmCodeGenTypes.VALUE_TYPE
));
@@ -146,14 +146,14 @@ public class LlvmCodeGen {
context.pop().context();
case LocalLoadInstruction localLoad ->
- context.push(context.local(localLoad.name()));
+ context.push(context.shedLocal(localLoad.name()));
case LocalStoreInstruction localStore -> {
var result = context.pop();
var value = result.value();
context = result.context();
- yield context.addLocal(localStore.name(), value);
+ yield context.addShedLocal(localStore.name(), value);
}
case NamespaceFieldStoreInstruction namespaceFieldStore -> {
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenClosures.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenClosures.java
index 88849d2a..d41298bc 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenClosures.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenClosures.java
@@ -328,7 +328,7 @@ public class LlvmCodeGenClosures {
return context.addInstruction(new LlvmStore(
LlvmCodeGenTypes.VALUE_TYPE,
- context.local(freeVariable.name()),
+ context.shedLocal(freeVariable.name()),
closureEnvironmentPointer
));
}
@@ -361,7 +361,7 @@ public class LlvmCodeGenClosures {
closureFreeVariablePointer
));
- return context.addLocal(freeVariable.name(), closureFreeVariable);
+ return context.addShedLocal(freeVariable.name(), closureFreeVariable);
}
private static LlvmCodeGenResult<LlvmVariableLocal> getClosureFreeVariablePointer(
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenContext.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenContext.java
index 60137e9d..90d72969 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenContext.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenContext.java
@@ -20,7 +20,7 @@ import java.util.Optional;
public record LlvmCodeGenContext(
TypeInfo typeInfo,
PStack<LlvmOperand> stack,
- PMap<String, LlvmOperand> locals,
+ PMap<String, LlvmOperand> shedLocalNameToOperand,
PVector<LlvmBasicBlock> basicBlocks,
PVector<LlvmInstruction> instructions,
POrderedMap<String, LlvmTopLevelEntity> topLevelEntitiesByName,
@@ -44,7 +44,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack.plus(operand),
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions,
topLevelEntitiesByName,
@@ -56,7 +56,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack.minus(0),
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions,
topLevelEntitiesByName,
@@ -64,11 +64,11 @@ public record LlvmCodeGenContext(
).toResult(stack.get(0));
}
- public LlvmCodeGenContext addLocal(String name, LlvmOperand value) {
+ public LlvmCodeGenContext addShedLocal(String name, LlvmOperand value) {
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals.plus(name, value),
+ shedLocalNameToOperand.plus(name, value),
basicBlocks,
instructions,
topLevelEntitiesByName,
@@ -76,8 +76,8 @@ public record LlvmCodeGenContext(
);
}
- public LlvmOperand local(String name) {
- var local = locals.get(name);
+ public LlvmOperand shedLocal(String name) {
+ var local = shedLocalNameToOperand.get(name);
if (local == null) {
// TODO: better error
throw new RuntimeException("unrecognised local: " + name);
@@ -90,7 +90,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions.plus(instruction),
topLevelEntitiesByName,
@@ -104,7 +104,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals,
+ shedLocalNameToOperand,
basicBlocks.plus(new LlvmBasicBlock(
Optional.empty(),
instructions,
@@ -135,7 +135,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions,
topLevelEntitiesByName.plus(topLevelEntity.name(), topLevelEntity),
@@ -191,7 +191,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions,
topLevelEntitiesByName,
@@ -221,7 +221,7 @@ public record LlvmCodeGenContext(
return new LlvmCodeGenContext(
typeInfo,
stack,
- locals,
+ shedLocalNameToOperand,
basicBlocks,
instructions,
functionContext.topLevelEntitiesByName,