diff options
| author | gingerBill <bill@gingerbill.org> | 2022-08-17 15:54:45 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-08-17 15:54:45 +0100 |
| commit | f504b200a9ccee250032e6ed2c1dd3d40e9c9acb (patch) | |
| tree | fe808b2d35871a13352c8736638accaa4915c2f3 /src/llvm_backend_utility.cpp | |
| parent | 82e840a0ca3fb547ac93e680a3dcbbb67958077f (diff) | |
Improve `unreachable` generation by putting a `trap` before it
Diffstat (limited to 'src/llvm_backend_utility.cpp')
| -rw-r--r-- | src/llvm_backend_utility.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
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); } } |