xref: /llvm-project/llvm/test/Transforms/NewGVN/pr24426.ll (revision 229640343e400394b315c6798c7c19e8a9bd188c)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2; RUN: opt < %s -passes=memcpyopt,mldst-motion,newgvn -S | FileCheck %s
3
4declare void @check(i8)
5
6declare void @write(ptr %res)
7
8define void @test1() {
9; CHECK-LABEL: define void @test1() {
10; CHECK-NEXT:    [[TMP1:%.*]] = alloca [10 x i8], align 1
11; CHECK-NEXT:    call void @write(ptr [[TMP1]])
12; CHECK-NEXT:    [[TMP2:%.*]] = load i8, ptr [[TMP1]], align 1
13; CHECK-NEXT:    call void @check(i8 [[TMP2]])
14; CHECK-NEXT:    ret void
15;
16  %1 = alloca [10 x i8]
17  call void @write(ptr %1)
18  %2 = load i8, ptr %1
19
20  call void @check(i8 %2)
21
22  ret void
23}
24
25