소스 검색

Improve `unreachable` generation by putting a `trap` before it

gingerBill 3 년 전
부모
커밋
f504b200a9
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      src/llvm_backend_utility.cpp

+ 1 - 0
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);
 	}
 }