xref: /llvm-project/clang/test/CodeGen/linking-bitcode-postopt.cpp (revision 11a6799740f824282650aa9ec249b55dcf1a8aae)
1*11a67997SJacob Lambert // REQUIRES: amdgpu-registered-target
2*11a67997SJacob Lambert 
3*11a67997SJacob Lambert // Test that -mlink-bitcode-postopt correctly enables LinkInModulesPass
4*11a67997SJacob Lambert 
5*11a67997SJacob Lambert // RUN: %clang_cc1 -triple amdgcn-- -emit-llvm-bc -o /dev/null \
6*11a67997SJacob Lambert // RUN:   -mllvm -print-pipeline-passes \
7*11a67997SJacob Lambert // RUN: %s 2>&1 | FileCheck --check-prefixes=DEFAULT %s
8*11a67997SJacob Lambert 
9*11a67997SJacob Lambert // DEFAULT-NOT: LinkInModulesPass
10*11a67997SJacob Lambert 
11*11a67997SJacob Lambert // RUN: %clang_cc1 -triple amdgcn-- -emit-llvm-bc -o /dev/null \
12*11a67997SJacob Lambert // RUN:   -mllvm -print-pipeline-passes \
13*11a67997SJacob Lambert // RUN:   -mlink-builtin-bitcode-postopt \
14*11a67997SJacob Lambert // RUN: %s 2>&1 | FileCheck --check-prefixes=OPTION-POSITIVE %s
15*11a67997SJacob Lambert 
16*11a67997SJacob Lambert // OPTION-POSITIVE: LinkInModulesPass
17*11a67997SJacob Lambert 
18*11a67997SJacob Lambert // RUN: %clang_cc1 -triple amdgcn-- -emit-llvm-bc -o /dev/null \
19*11a67997SJacob Lambert // RUN:   -mllvm -print-pipeline-passes \
20*11a67997SJacob Lambert // RUN:   -mno-link-builtin-bitcode-postopt \
21*11a67997SJacob Lambert // RUN: %s 2>&1 | FileCheck --check-prefixes=OPTION-NEGATIVE %s
22*11a67997SJacob Lambert 
23*11a67997SJacob Lambert // OPTION-NEGATIVE-NOT: LinkInModulesPass
24*11a67997SJacob Lambert 
25*11a67997SJacob Lambert // RUN: %clang_cc1 -triple amdgcn-- -emit-llvm-bc -o /dev/null \
26*11a67997SJacob Lambert // RUN:   -mllvm -print-pipeline-passes \
27*11a67997SJacob Lambert // RUN:   -mlink-builtin-bitcode-postopt \
28*11a67997SJacob Lambert // RUN:   -mno-link-builtin-bitcode-postopt \
29*11a67997SJacob Lambert // RUN: %s 2>&1 | FileCheck --check-prefixes=OPTION-POSITIVE-NEGATIVE %s
30*11a67997SJacob Lambert 
31*11a67997SJacob Lambert // OPTION-POSITIVE-NEGATIVE-NOT: LinkInModulesPass
32