xref: /llvm-project/llvm/test/Transforms/InstCombine/pr77064.ll (revision a001e9718fd974859f2797a9f9ed7bf87d364e4f)
1*a001e971SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2*a001e971SNikita Popov; RUN: opt -S -passes=instcombine < %s | FileCheck %s
3*a001e971SNikita Popov
4*a001e971SNikita Popovdefine void @main(ptr %ptr) {
5*a001e971SNikita Popov; CHECK-LABEL: define void @main(
6*a001e971SNikita Popov; CHECK-SAME: ptr [[PTR:%.*]]) {
7*a001e971SNikita Popov; CHECK-NEXT:    [[OPENDIR:%.*]] = call fastcc ptr @opendir(ptr [[PTR]])
8*a001e971SNikita Popov; CHECK-NEXT:    call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(596) [[OPENDIR]], i8 0, i64 596, i1 false)
9*a001e971SNikita Popov; CHECK-NEXT:    ret void
10*a001e971SNikita Popov;
11*a001e971SNikita Popov  %opendir = call fastcc ptr @opendir(ptr %ptr)
12*a001e971SNikita Popov  %memset = call ptr @__memset_chk(ptr %opendir, i32 0, i64 596, i64 -1)
13*a001e971SNikita Popov  ret void
14*a001e971SNikita Popov}
15*a001e971SNikita Popov
16*a001e971SNikita Popovdeclare ptr @__memset_chk(ptr, i32, i64, i64)
17*a001e971SNikita Popov
18*a001e971SNikita Popovdeclare fastcc ptr @opendir(ptr)
19