xref: /llvm-project/llvm/test/tools/llvm-reduce/remove-dso-local.ll (revision 511f2cecf7c95aa2eea7447818bddf08f7222daa)
1; Test that llvm-reduce can remove dso_local.
2;
3; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=global-values --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t
4; RUN: FileCheck --check-prefix=CHECK-FINAL %s < %t
5
6; CHECK-INTERESTINGNESS: declare
7; CHECK-INTERESTINGNESS-SAME: void @f0
8; CHECK-INTERESTINGNESS-SAME: i32
9; CHECK-INTERESTINGNESS-SAME: i32
10
11; CHECK-FINAL: declare void @f0(i32, i32)
12
13declare dso_local void @f0(i32, i32)
14
15; CHECK-INTERESTINGNESS: declare
16; CHECK-INTERESTINGNESS-SAME: dso_local
17; CHECK-INTERESTINGNESS-SAME: void @f1
18; CHECK-INTERESTINGNESS-SAME: i32
19; CHECK-INTERESTINGNESS-SAME: i32
20
21; CHECK-FINAL: declare dso_local void @f1(i32, i32)
22
23declare dso_local void @f1(i32, i32)
24
25; CHECK-INTERESTINGNESS: define {{.*}} @f2
26define private void @f2(i32, i32) {
27  ret void
28}
29