xref: /llvm-project/llvm/test/tools/llvm-reduce/reduce-module-flags.ll (revision 4490003a22658dcd12527029b2c8682b63d8a9d6)
1; Test keeping one module flag
2; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=named-metadata --test=FileCheck --test-arg=--check-prefix=CHECK-INTERESTINGNESS0 --test-arg=%s --test-arg=--input-file %s -o %t.0
3; RUN: FileCheck --check-prefix=RESULT0 %s < %t.0
4
5; Test keeping two module flags
6; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=named-metadata --test=FileCheck --test-arg=--check-prefix=CHECK-INTERESTINGNESS1 --test-arg=%s --test-arg=--input-file %s -o %t.1
7; RUN: FileCheck --check-prefix=RESULT1 %s < %t.1
8
9
10; Test removing all module flags
11; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=named-metadata --test=FileCheck --test-arg=--check-prefix=CHECK-INTERESTINGNESS2 --test-arg=%s --test-arg=--input-file %s -o %t.2
12; RUN: FileCheck --check-prefix=RESULT2 %s < %t.2
13
14
15; CHECK-INTERESTINGNESS0: "openmp-device"
16
17; CHECK-INTERESTINGNESS1: "wchar_size"
18; CHECK-INTERESTINGNESS1: "openmp"
19
20; CHECK-INTERESTINGNESS2: !llvm.module.flags
21
22; RESULT0: !llvm.module.flags = !{!0}
23; RESULT0: !0 = !{i32 7, !"openmp-device", i32 50}
24
25
26; RESULT1: !llvm.module.flags = !{!0, !1}
27; RESULT1: !0 = !{i32 1, !"wchar_size", i32 4}
28; RESULT1: !1 = !{i32 7, !"openmp", i32 50}
29
30
31; RESULT2: !llvm.module.flags = !{}
32
33!llvm.module.flags = !{!0, !1, !2, !3, !4}
34
35!0 = !{i32 1, !"amdhsa_code_object_version", i32 400}
36!1 = !{i32 1, !"wchar_size", i32 4}
37!2 = !{i32 7, !"openmp", i32 50}
38!3 = !{i32 7, !"openmp-device", i32 50}
39!4 = !{i32 8, !"PIC Level", i32 1}
40