aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 8a81e62a1f..11e4903ded 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -2808,6 +2808,9 @@ static LLVMValueRef ir_render_decl_var(CodeGen *g, IrExecutable *executable,
if (!type_has_bits(var->type))
return nullptr;
+ if (var->ref_count == 0)
+ return nullptr;
+
IrInstruction *init_value = decl_var_instruction->init_value;
bool have_init_expr = false;
@@ -4348,6 +4351,8 @@ static void do_code_gen(CodeGen *g) {
if (!type_has_bits(var->type)) {
continue;
}
+ if (var->ref_count == 0)
+ continue;
if (var->block_context->node->type == NodeTypeFnDef) {
assert(var->gen_arg_index != SIZE_MAX);