From 879826dd5cbbd50314bd89caded240c2b12c156c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 8 Apr 2026 19:03:26 +0100 Subject: Add poison as LLVM operand --- .../compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java | 9 +++++++++ .../java/org/shedlang/compiler/backends/llvm/ir/ast/LlvmIr.java | 4 ++++ 2 files changed, 13 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java index 0139599e..ba4ecb93 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java @@ -81,6 +81,15 @@ public class LlvmIrSerializerOperandsTests { assertThat(result, equalTo("ptrtoint (ptr %x to i64)")); } + @Test + public void poisonIsSerializedAsPoison() throws IOException { + var operand = LlvmIr.operandPoison(); + + var result = serializeToString(operand, LlvmIrSerializer::serializeOperand); + + assertThat(result, equalTo("poison")); + } + @Test public void arrayIsSerializedAsTypedOperandsInArray() throws IOException { var operand = LlvmIr.operandArray( 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 08a5b706..b1aef1d8 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 @@ -159,6 +159,10 @@ public class LlvmIr { return new LlvmOperandNull(); } + public static LlvmOperandPoison operandPoison() { + return new LlvmOperandPoison(); + } + public static LlvmOperand operandPtrToInt( LlvmOperand operand, LlvmType destinationType -- cgit v1.2.3