From f504b200a9ccee250032e6ed2c1dd3d40e9c9acb Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 17 Aug 2022 15:54:45 +0100 Subject: Improve `unreachable` generation by putting a `trap` before it --- src/llvm_backend_utility.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/llvm_backend_utility.cpp') diff --git a/src/llvm_backend_utility.cpp b/src/llvm_backend_utility.cpp index 8be339ca7..480bad75c 100644 --- a/src/llvm_backend_utility.cpp +++ b/src/llvm_backend_utility.cpp @@ -42,6 +42,7 @@ bool lb_is_type_aggregate(Type *t) { void lb_emit_unreachable(lbProcedure *p) { LLVMValueRef instr = LLVMGetLastInstruction(p->curr_block->block); if (instr == nullptr || !lb_is_instr_terminating(instr)) { + lb_call_intrinsic(p, "trap", nullptr, 0, nullptr, 0); LLVMBuildUnreachable(p->builder); } } -- cgit v1.2.3