diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 47cecd9b70d5..fe1f71eeae5b 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -5868,7 +5868,6 @@ pub const FuncGen = struct { .struct_field_ptr, .struct_field_ptr_index_0, .struct_field_ptr_index_1, .struct_field_ptr_index_2, .struct_field_ptr_index_3 => { const load_ptr_inst = try self.resolveInst(load_ptr); const gep = self.builder.buildInBoundsGEP(array_llvm_ty, load_ptr_inst, &indices, indices.len, ""); - array_llvm_val.removeUnusedLoadArray(); return self.builder.buildLoad(elem_llvm_ty, gep, ""); }, else => {}, diff --git a/src/codegen/llvm/bindings.zig b/src/codegen/llvm/bindings.zig index 9b41ebde1293..fc12b4a8c162 100644 --- a/src/codegen/llvm/bindings.zig +++ b/src/codegen/llvm/bindings.zig @@ -256,9 +256,6 @@ pub const Value = opaque { pub const addByValAttr = ZigLLVMAddByValAttr; extern fn ZigLLVMAddByValAttr(Fn: *Value, ArgNo: c_uint, type: *Type) void; - - pub const removeUnusedLoadArray = ZigLLVMRemoveUnusedLoadArray; - extern fn ZigLLVMRemoveUnusedLoadArray(Val: *Value) void; }; pub const Type = opaque { diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index 1c7bff213b10..c38e311f6790 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -186,20 +186,6 @@ unsigned ZigLLVMDataLayoutGetProgramAddressSpace(LLVMTargetDataRef TD) { return unwrap(TD)->getProgramAddressSpace(); } -void ZigLLVMRemoveUnusedLoadArray(LLVMValueRef Val) { - auto *Ptr = unwrap(Val); - if (auto *AI = dyn_cast(Ptr)) { - if (AI->hasOneUse()) { - if (auto *CI = dyn_cast(AI->user_back())) { - if (CI->getIntrinsicID() == Intrinsic::memcpy) { - CI->eraseFromParent(); - AI->eraseFromParent(); - } - } - } - } -} - namespace { // LLVM's time profiler can provide a hierarchy view of the time spent // in each component. It generates JSON report in Chrome's "Trace Event" diff --git a/src/zig_llvm.h b/src/zig_llvm.h index 14b487668c74..7f9bd0a1619d 100644 --- a/src/zig_llvm.h +++ b/src/zig_llvm.h @@ -599,6 +599,4 @@ ZIG_EXTERN_C void ZigLLVMGetNativeTarget(enum ZigLLVM_ArchType *arch_type, ZIG_EXTERN_C unsigned ZigLLVMDataLayoutGetStackAlignment(LLVMTargetDataRef TD); ZIG_EXTERN_C unsigned ZigLLVMDataLayoutGetProgramAddressSpace(LLVMTargetDataRef TD); -ZIG_EXTERN_C void ZigLLVMRemoveUnusedLoadArray(LLVMValueRef Val); - #endif