Browse Source

Always call `lb_run_remove_dead_instruction_pass` to fix `-debug` issues

gingerBill 2 years ago
parent
commit
1ff6212ffa
2 changed files with 3 additions and 12 deletions
  1. 3 2
      src/llvm_backend_general.cpp
  2. 0 10
      src/llvm_backend_opt.cpp

+ 3 - 2
src/llvm_backend_general.cpp

@@ -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);

+ 0 - 10
src/llvm_backend_opt.cpp

@@ -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