From fa32264f4807c40172f524b9a35d2e2019edc7c2 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 17 Jun 2023 20:44:14 +0100 Subject: Use opaque ptr in prttoint instructions --- .../compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java | 8 ++++---- .../backends/llvm/ir/LlvmIrSerializerInstructionTests.java | 3 +-- .../java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) (limited to 'src/test/java') 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) { -- cgit v1.2.3