1 // Test LTO path, mcpu and opt level options
2 // RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -O3 2>&1 \
3 // RUN: | FileCheck -check-prefixes=LTOPATH,MCPUOPTLEVEL %s
5 // LTOPATH: "-bplugin:{{.*}}libLTO.{{so|dll|dylib}}"
6 // MCPUOPTLEVEL: "-bplugin_opt:-mcpu={{.*}}" "-bplugin_opt:-O3"
8 // More opt level option tests
9 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
10 // RUN: -fuse-ld=ld -flto -O -### 2>&1 | FileCheck --check-prefix=O1 %s
11 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
12 // RUN: -fuse-ld=ld -flto -O1 -### 2>&1 | FileCheck --check-prefix=O1 %s
13 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
14 // RUN: -fuse-ld=ld -flto -Og -### 2>&1 | FileCheck --check-prefix=O1 %s
15 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
16 // RUN: -fuse-ld=ld -flto -O2 -### 2>&1 | FileCheck --check-prefix=O2 %s
17 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
18 // RUN: -fuse-ld=ld -flto -Os -### 2>&1 | FileCheck --check-prefix=O2 %s
19 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
20 // RUN: -fuse-ld=ld -flto -Oz -### 2>&1 | FileCheck --check-prefix=O2 %s
21 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
22 // RUN: -fuse-ld=ld -flto -O3 -### 2>&1 | FileCheck --check-prefix=O3 %s
23 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
24 // RUN: -fuse-ld=ld -flto -Ofast -### 2>&1 | FileCheck --check-prefix=O3 %s
26 // O1: "-bplugin_opt:-O1"
27 // O2: "-bplugin_opt:-O2"
28 // O3: "-bplugin_opt:-O3"
31 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
32 // RUN: -fuse-ld=ld -flto -mabi=vec-extabi -### 2>&1 \
33 // RUN: | FileCheck --check-prefix=VECEXTABI %s
34 // RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
35 // RUN: -fuse-ld=ld -flto -### 2>&1 | FileCheck --check-prefix=NOVECEXTABI %s
37 // VECEXTABI: "-bplugin_opt:-vec-extabi"
38 // NOVECEXTABI-NOT: "-bplugin_opt:-vec-extabi"
40 // Test debugging options
41 // RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -gdbx 2>&1 \
42 // RUN: | FileCheck -check-prefix=DBX %s
43 // RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -g 2>&1 \
44 // RUN: | FileCheck -check-prefix=NODEBUGGER-TUNE %s
45 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g 2>&1 \
46 // RUN: | FileCheck -check-prefixes=STRICT,NODEBUGGER-TUNE %s
47 // RUN: %clang --target=powerpc64-ibm-aix-xcoff -### %s -flto -g 2>&1 \
48 // RUN: | FileCheck -check-prefixes=STRICT,NODEBUGGER-TUNE %s
49 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -gdbx 2>&1 \
50 // RUN: | FileCheck -check-prefix=DBX -check-prefix=STRICT %s
51 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb 2>&1 \
52 // RUN: | FileCheck -check-prefix=GDB -check-prefix=STRICT %s
53 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb0 2>&1 \
54 // RUN: | FileCheck -check-prefix=GDB -check-prefix=NOSTRICT %s
55 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb1 2>&1 \
56 // RUN: | FileCheck -check-prefix=GDB -check-prefix=STRICT %s
57 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -g0 2>&1 \
58 // RUN: | FileCheck -check-prefix=NOSTRICT %s
59 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -gno-strict-dwarf 2>&1 \
60 // RUN: | FileCheck -check-prefix=NOSTRICT %s
61 // RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -gstrict-dwarf 2>&1 \
62 // RUN: | FileCheck -check-prefix=NOSTRICT %s
64 // DBX: "-bplugin_opt:-debugger-tune=dbx"
65 // GDB: "-bplugin_opt:-debugger-tune=gdb"
66 // NODEBUGGER-TUNE-NOT: "-bplugin_opt:-debugger-tune="
68 // STRICT: "-bplugin_opt:-strict-dwarf=true"
69 // NOSTRICT-NOT: "-bplugin_opt:-strict-dwarf=true"
72 // RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld \
73 // RUN: -fcs-profile-generate 2>&1 | FileCheck -check-prefix=CSPGO %s
75 // CSPGO: "-bplugin_opt:-cs-profile-generate" "-bplugin_opt:-cs-profile-path=default_%m.profraw"