aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java6
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmTypedOperand.java9
2 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java
index 4846f7ed..62b30246 100644
--- a/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializer.java
@@ -115,6 +115,12 @@ public class LlvmIrSerializer {
}
}
+ public static void serializeTypedOperand(LlvmTypedOperand typedOperand, StringBuilder builder) {
+ serializeType(typedOperand.type(), builder);
+ builder.append(" ");
+ serializeOperand(typedOperand.operand(), builder);
+ }
+
public static void serializeVariable(LlvmVariable variable, StringBuilder builder) {
switch (variable) {
case LlvmVariableGlobal global -> {
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmTypedOperand.java b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmTypedOperand.java
new file mode 100644
index 00000000..91be449f
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/backends/llvm/ir/ast/operands/LlvmTypedOperand.java
@@ -0,0 +1,9 @@
+package org.shedlang.compiler.backends.llvm.ir.ast.operands;
+
+import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmType;
+
+public record LlvmTypedOperand(
+ LlvmType type,
+ LlvmOperand operand
+) {
+}