xref: /llvm-project/llvm/test/tools/llvm-reduce/remove-metadata-args.ll (revision 1437a83491cbe4af1b452a3f862a6b609057c26d)
1; RUN: llvm-reduce %s -o %t --abort-on-invalid-reduction --delta-passes=metadata --test FileCheck --test-arg %s --test-arg --check-prefix=EXCITING --test-arg --input-file
2; RUN: FileCheck %s --input-file %t --check-prefix=REDUCED
3
4; All exciting stuff must remain in the reduced file.
5; EXCITING-DAG: ExcitingGlobal = global i32 0, !md !0
6; EXCITING-DAG: define void @ExcitingFunc() !md !0
7; EXCITING-DAG: store i32 0, ptr @ExcitingGlobal, align 4, !md !0
8; EXCITING-DAG: !ExcitingNamedMD = !{!0}
9
10; Boring stuff's metadata must have been removed.
11; REDUCED-NOT: Boring{{.*}} !md !0
12; REDUCED-NOT: !md !0 {{.*}}Boring
13
14
15@ExcitingGlobal = global i32 0, !md !0
16@BoringGlobal = global i32 0, !md !0
17
18define void @ExcitingFunc() !md !0 {
19   store i32 0, ptr @ExcitingGlobal, align 4, !md !0
20   store i32 0, ptr @BoringGlobal, align 4, !md !0
21   ret void
22}
23
24declare !md !0 void @BoringFunc()
25
26!ExcitingNamedMD = !{!0}
27!BoringNamedMD = !{!0}
28
29!0 = !{!"my metadata"}
30