Always call lb_run_remove_dead_instruction_pass to fix -debug issues

This commit is contained in:
gingerBill
2023-07-07 22:28:31 +01:00
parent b60d29ae9a
commit 1ff6212ffa
2 changed files with 3 additions and 12 deletions

View File

@@ -3004,8 +3004,9 @@ gb_internal lbAddr lb_add_local(lbProcedure *p, Type *type, Entity *e, bool zero
LLVMPositionBuilderAtEnd(p->builder, p->decl_block->block);
char const *name = "";
if (e != nullptr) {
// name = alloc_cstring(permanent_allocator(), e->token.string);
if (e != nullptr && e->token.string.len > 0 && e->token.string != "_") {
// NOTE(bill): for debugging purposes only
name = alloc_cstring(permanent_allocator(), e->token.string);
}
LLVMTypeRef llvm_type = lb_type(p->module, type);

View File

@@ -375,16 +375,6 @@ gb_internal void lb_run_function_pass_manager(LLVMPassManagerRef fpm, lbProcedur
return;
}
LLVMRunFunctionPassManager(fpm, p->value);
switch (pass_manager_kind) {
case lbFunctionPassManager_none:
return;
case lbFunctionPassManager_default:
case lbFunctionPassManager_default_without_memcpy:
if (build_context.optimization_level < 0) {
return;
}
break;
}
// NOTE(bill): LLVMAddDCEPass doesn't seem to be exported in the official DLL's for LLVM
// which means we cannot rely upon it
// This is also useful for read the .ll for debug purposes because a lot of instructions