aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-23 22:59:08 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-23 22:59:08 +0100
commit5b45f12110760bee7fd94cda9801fba54dc785d1 (patch)
tree5a0b9b5a27e45aa032d830d81313dad5f3525acc /src/main/java
parent3412aaafe67670b51a25b78bb4805c350820c5a5 (diff)
Consistenly use PatioOperand for Patio operands
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java3
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java3
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java4
5 files changed, 9 insertions, 7 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 aa389dc2..8b3d4a4b 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java
@@ -458,8 +458,8 @@ public class LlvmPatioCodeGen {
case PatioReturn patioReturn ->
context.addTerminatorInstruction(new LlvmReturn(
- context.patioLocalToType(patioReturn.value()),
- context.patioLocalToOperand(patioReturn.value())
+ patioOperandToLlvmType(patioReturn.value(), context),
+ patioOperandToLlvmOperand(patioReturn.value(), context)
));
};
}
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
index db864db0..8c9c242e 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
@@ -6,6 +6,7 @@ import org.shedlang.compiler.patio.ast.PatioVisibility;
import org.shedlang.compiler.patio.ast.instructions.*;
import org.shedlang.compiler.patio.ast.operands.PatioFunctionPtr;
import org.shedlang.compiler.patio.ast.operands.PatioLocalRef;
+import org.shedlang.compiler.patio.ast.operands.PatioOperand;
import org.shedlang.compiler.patio.ast.types.*;
import org.shedlang.compiler.sources.Source;
import org.shedlang.compiler.stackir.instructions.DefineFunctionInstruction;
@@ -173,7 +174,7 @@ class PatioCodeGenClosures {
source
));
- var args = new ArrayList<PatioLocalRef>();
+ var args = new ArrayList<PatioOperand>();
args.add(closurePointer);
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
index 215f71f9..fcd3fb0b 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java
@@ -13,7 +13,7 @@ import java.util.List;
public record PatioCallPointer(
PatioLocalRef target,
PatioOperand functionPointer,
- List<PatioLocalRef> args,
+ List<PatioOperand> args,
Source source
) implements PatioInstruction {
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
index 4f7a8700..94327a1f 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java
@@ -1,6 +1,7 @@
package org.shedlang.compiler.patio.ast.instructions;
import org.shedlang.compiler.patio.ast.operands.PatioLocalRef;
+import org.shedlang.compiler.patio.ast.operands.PatioOperand;
import org.shedlang.compiler.sources.Source;
import java.util.List;
@@ -14,7 +15,7 @@ import java.util.List;
*/
public record PatioIf(
List<PatioLocalRef> targets,
- PatioLocalRef condition,
+ PatioOperand condition,
PatioBlock trueBody,
PatioBlock falseBody,
Source source
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
index 285395e0..1d5cbcd2 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java
@@ -1,10 +1,10 @@
package org.shedlang.compiler.patio.ast.instructions;
-import org.shedlang.compiler.patio.ast.operands.PatioLocalRef;
+import org.shedlang.compiler.patio.ast.operands.PatioOperand;
import org.shedlang.compiler.sources.Source;
/**
* Return with the given value from the current function.
*/
-public record PatioReturn(PatioLocalRef value, Source source) implements PatioInstruction {
+public record PatioReturn(PatioOperand value, Source source) implements PatioInstruction {
}