1 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O0 %s
2>&1 | FileCheck -check-prefix
=CHECK_O0 %s
2 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O1 %s
2>&1 | FileCheck -check-prefix
=CHECK_O1 %s
3 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O2 %s
2>&1 | FileCheck -check-prefix
=CHECK_O2 %s
4 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O3 %s
2>&1 | FileCheck -check-prefix
=CHECK_O3 %s
5 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O4 %s
2>&1 | FileCheck -check-prefix
=CHECK_O4 %s
6 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -O5 %s
2>&1 | FileCheck -check-prefix
=CHECK_O5 %s
7 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -Og %s
2>&1 | FileCheck -check-prefix
=CHECK_Og %s
8 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -Ofast %s
2>&1 | FileCheck -check-prefix
=CHECK_Ofast %s
9 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHECK_O_DEFAULT %s
11 // Check default include file is not included for preprocessor output.
13 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHK-INC %s
14 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib -save-temps %s
2>&1 | FileCheck -check-prefix
=CHK-INC %s
16 // CHECK_O0
: "-cc1"{{.
*}} "-O0"
17 // CHECK_O1
: "-cc1"{{.
*}} "-O1"
18 // CHECK_O2
: "-cc1"{{.
*}} "-O2"
19 // CHECK_O3
: "-cc1"{{.
*}} "-O3"
20 // CHECK_O4
: "-cc1"{{.
*}} "-O3"
21 // CHECK_O5
: "-cc1"{{.
*}} "-O5"
22 // CHECK_Og
: "-cc1"{{.
*}} "-Og"
23 // CHECK_Ofast
: "-cc1"{{.
*}} "-Ofast"
24 // CHECK_O_DEFAULT
: "-cc1"{{.
*}} "-O3"
26 // CHK-INC
: "-cc1" {{.
*}}"-finclude-default-header" "-fdeclare-opencl-builtins" {{.
*}}"-x" "cl"
27 // CHK-INC-NOT
: "-cc1" {{.
*}}"-finclude-default-header" "-fdeclare-opencl-builtins" {{.
*}}"-x" "cpp-output"
29 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHK-LINK %s
30 // CHK-LINK
: ld.lld
{{.
*}} "--no-undefined" "-shared"
32 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -Wl
,--unresolved-symbols
=ignore-all -x cl -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHK-LINK_UR %s
33 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -Xlinker --unresolved-symbols
=ignore-all -x cl -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHK-LINK_UR %s
34 // CHK-LINK_UR
: ld.lld
{{.
*}} "--no-undefined"{{.
*}} "--unresolved-symbols=ignore-all"
36 // RUN
: %clang -
### --target
=amdgcn-amd-amdhsa-opencl -x cl -c -emit-llvm -mcpu
=fiji -nogpulib %s
2>&1 | FileCheck -check-prefix
=CHECK-WARN-ATOMIC %s
37 // CHECK-WARN-ATOMIC
: "-cc1"{{.
*}} "-Werror=atomic-alignment"