diff --git a/src/codegen/regalloc.cpp b/src/codegen/regalloc.cpp index c4bc3732a47e2ba1abda4e5a6578ead0ce759fc5..80e5f4492560f3855aacee4b721b9bfe5ce072f9 100644 --- a/src/codegen/regalloc.cpp +++ b/src/codegen/regalloc.cpp @@ -36,6 +36,8 @@ RegAllocator::no_reg_alloca(Value *v) { else if (instr->is_zext()) { // only alloca for true use bool alloc; ASSERT_CMPINST_USED_ONCE(instr); + if (instr->get_use_list().size() == 0) + return false; auto use_ins = dynamic_cast( instr->get_use_list().begin()->val_); // assert(use_ins != nullptr && "should only be instruction?");