xref: /llvm-project/llvm/test/tools/llvm-extract/address-space-assert.ll (revision 597b9b7e8eaae1fbbab4f2603f1fe99c02f0ff5e)
1; RUN: llvm-extract -S --bb=func:bb4 -aggregate-extracted-args=0 < %s | FileCheck %s
2
3; FIXME: aggregate-extracted-args doesn't work for other reasons
4; XUN: llvm-extract -S --bb=func:bb4 -aggregate-extracted-args=1 < %s | FileCheck %s
5
6target datalayout = "A5-G1-ni:7"
7
8; Check that there's no assert from incorrect pointer types used in the new arguments.
9
10; CHECK-LABEL: define dso_local void @func.bb4(i32 %orig.arg.0, ptr addrspace(5) %tmp1.out, ptr addrspace(5) %add.out) {
11; CHECK: bb4:
12; CHECK-NEXT: %tmp0 = add i32 0, 0
13; CHECK-NEXT: %tmp1 = add i32 1, 1
14; CHECK-NEXT: store i32 %tmp1, ptr addrspace(5) %tmp1.out, align 4
15; CHECK-NEXT: %add = add i32 %tmp0, %orig.arg.0
16; CHECK-NEXT: store i32 %add, ptr addrspace(5) %add.out, align 4
17; CHECK-NEXT: br label %bb5.exitStub
18define void @func(i32 %orig.arg.0, ptr addrspace(1) %orig.arg.1) {
19bb:
20  br label %bb4
21
22bb4:                                              ; preds = %bb
23  %tmp0 = add i32 0, 0
24  %tmp1 = add i32 1, 1
25  %add = add i32 %tmp0, %orig.arg.0
26  br label %bb5
27
28bb5:                                              ; preds = %bb5, %bb4
29  %tmp6 = phi i32 [ %add, %bb4 ], [ 0, %bb5 ]
30  %tmp7 = phi i32 [ %tmp1, %bb4 ], [ 2, %bb5 ]
31  br label %bb5
32}
33