xref: /llvm-project/llvm/test/Transforms/DeadArgElim/opaque-ptr.ll (revision edb2fc6dab2cf04779959829434e9e8572d48a26)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
2; RUN: opt -S -passes=deadargelim < %s | FileCheck %s
3
4define void @callee(i32 %unused) {
5; CHECK-LABEL: define {{[^@]+}}@callee
6; CHECK-SAME: (i32 [[UNUSED:%.*]]) {
7; CHECK-NEXT:    ret void
8;
9  ret void
10}
11
12define void @caller() {
13; CHECK-LABEL: define {{[^@]+}}@caller() {
14; CHECK-NEXT:    call void @callee(i32 poison)
15; CHECK-NEXT:    call void @callee()
16; CHECK-NEXT:    call void @callee(i32 42, i32 24)
17; CHECK-NEXT:    ret void
18;
19  call void @callee(i32 42)
20  call void @callee()
21  call void @callee(i32 42, i32 24)
22  ret void
23}
24
25define internal i16 @callee2(i16 %p1, i16 %p2) {
26; CHECK-LABEL: define {{[^@]+}}@callee2
27; CHECK-SAME: (i16 [[P1:%.*]], i16 [[P2:%.*]]) {
28; CHECK-NEXT:    ret i16 [[P2]]
29;
30  ret i16 %p2
31}
32
33define i16 @caller2(i16 %a) {
34; CHECK-LABEL: define {{[^@]+}}@caller2
35; CHECK-SAME: (i16 [[A:%.*]]) {
36; CHECK-NEXT:    [[CALL:%.*]] = call i16 @callee2(i16 [[A]], i32 42)
37; CHECK-NEXT:    ret i16 [[CALL]]
38;
39  %call = call i16 @callee2(i16 %a, i32 42)
40  ret i16 %call
41}
42