aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-17 20:44:14 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-17 20:44:14 +0100
commitfa32264f4807c40172f524b9a35d2e2019edc7c2 (patch)
treeeb04b926067f20e2e7c71e8a2260037c71251d63 /src/test/java
parent51f6b88390ce1c028fd1a3163f26620e6be16480 (diff)
Use opaque ptr in prttoint instructions
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java8
-rw-r--r--src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java3
-rw-r--r--src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java3
3 files changed, 6 insertions, 8 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
index 95b6ed42..7604386c 100644
--- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
@@ -57,11 +57,11 @@ public class LlvmCompilerDefineFunctionTests {
);
assertThat(instructions.toString(), equalTo("""
%size_ptr__0 = getelementptr {i64 ([0 x i64] *) *, [0 x i64]}, ptr null, i64 0
- %size__0 = ptrtoint {i64 ([0 x i64] *) *, [0 x i64]} * %size_ptr__0 to i64
+ %size__0 = ptrtoint ptr %size_ptr__0 to i64
%closurePointer__0 = call {i64 ([0 x i64] *) *, [0 x i64]} * @shed__runtime__alloc(i64 %size__0)
%closureFunctionPointerPointer__0 = getelementptr {i64 ([0 x i64] *) *, [0 x i64]}, ptr %closurePointer__0, i64 0, i32 0
store i64 ([0 x i64] *) * @shed__fun__f__0, i64 ([0 x i64] *) * * %closureFunctionPointerPointer__0
- %closureValue__0 = ptrtoint {i64 ([0 x i64] *) *, [0 x i64]} * %closurePointer__0 to i64"""));
+ %closureValue__0 = ptrtoint ptr %closurePointer__0 to i64"""));
assertThat(result.stack(), isSequence(
isLlvmVariableLocal("closureValue__0")
@@ -108,7 +108,7 @@ public class LlvmCompilerDefineFunctionTests {
);
assertThat(instructions.toString(), equalTo("""
%size_ptr__0 = getelementptr {i64 ([2 x i64] *) *, [2 x i64]}, ptr null, i64 0
- %size__0 = ptrtoint {i64 ([2 x i64] *) *, [2 x i64]} * %size_ptr__0 to i64
+ %size__0 = ptrtoint ptr %size_ptr__0 to i64
%closurePointer__0 = call {i64 ([2 x i64] *) *, [2 x i64]} * @shed__runtime__alloc(i64 %size__0)
%closureFunctionPointerPointer__0 = getelementptr {i64 ([2 x i64] *) *, [2 x i64]}, ptr %closurePointer__0, i64 0, i32 0
store i64 ([2 x i64] *) * @shed__fun__f__0, i64 ([2 x i64] *) * * %closureFunctionPointerPointer__0
@@ -116,7 +116,7 @@ public class LlvmCompilerDefineFunctionTests {
store i64 1, i64 * %closureEnvironmentPointer__0
%closureEnvironmentPointer__1 = getelementptr {i64 ([2 x i64] *) *, [2 x i64]}, ptr %closurePointer__0, i64 0, i32 1, i64 1
store i64 2, i64 * %closureEnvironmentPointer__1
- %closureValue__0 = ptrtoint {i64 ([2 x i64] *) *, [2 x i64]} * %closurePointer__0 to i64"""));
+ %closureValue__0 = ptrtoint ptr %closurePointer__0 to i64"""));
assertThat(result.stack(), isSequence(
isLlvmVariableLocal("closureValue__0")
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java
index f6fc9216..b210c8d9 100644
--- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java
@@ -109,14 +109,13 @@ public class LlvmIrSerializerInstructionTests {
public void ptrToIntIsSerialized() {
var instruction = LlvmIr.ptrToInt(
LlvmIr.variableLocal("x"),
- LlvmTypes.pointer(LlvmTypes.INT_8),
LlvmIr.variableLocal("y"),
LlvmTypes.INT_64
);
var result = serializeToString(instruction, LlvmIrSerializer::serializeInstruction);
- assertThat(result, equalTo("%x = ptrtoint i8 * %y to i64"));
+ assertThat(result, equalTo("%x = ptrtoint ptr %y to i64"));
}
@Test
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java
index 069b938e..414458fd 100644
--- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java
+++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java
@@ -113,11 +113,10 @@ public class LlvmIr {
public static LlvmPtrToInt ptrToInt(
LlvmVariable target,
- LlvmTypePointer sourceType,
LlvmOperand value,
LlvmTypeScalar targetType
) {
- return new LlvmPtrToInt(target, sourceType, value, targetType);
+ return new LlvmPtrToInt(target, value, targetType);
}
public static LlvmReturn returnValue(LlvmType type, LlvmOperand value) {