// Test LTO path, mcpu and opt level options
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -O3 2>&1 \
// RUN: | FileCheck -check-prefixes=LTOPATH,MCPUOPTLEVEL %s
//
// LTOPATH: "-bplugin:{{.*}}libLTO.{{so|dll|dylib}}"
// MCPUOPTLEVEL: "-bplugin_opt:-mcpu={{.*}}" "-bplugin_opt:-O3"
// More opt level option tests
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -O -### 2>&1 | FileCheck --check-prefix=O1 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -O1 -### 2>&1 | FileCheck --check-prefix=O1 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -Og -### 2>&1 | FileCheck --check-prefix=O1 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -O2 -### 2>&1 | FileCheck --check-prefix=O2 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -Os -### 2>&1 | FileCheck --check-prefix=O2 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -Oz -### 2>&1 | FileCheck --check-prefix=O2 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -O3 -### 2>&1 | FileCheck --check-prefix=O3 %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -Ofast -### 2>&1 | FileCheck --check-prefix=O3 %s
//
// O1: "-bplugin_opt:-O1"
// O2: "-bplugin_opt:-O2"
// O3: "-bplugin_opt:-O3"
// vec-extabi option
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -mabi=vec-extabi -### 2>&1 \
// RUN: | FileCheck --check-prefix=VECEXTABI %s
// RUN: %clang --target=powerpc-ibm-aix --sysroot %S/Inputs/aix_ppc_tree %s \
// RUN: -fuse-ld=ld -flto -### 2>&1 | FileCheck --check-prefix=NOVECEXTABI %s
//
// VECEXTABI: "-bplugin_opt:-vec-extabi"
// NOVECEXTABI-NOT: "-bplugin_opt:-vec-extabi"
// Test debugging options
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -gdbx 2>&1 \
// RUN: | FileCheck -check-prefix=DBX %s
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld -g 2>&1 \
// RUN: | FileCheck -check-prefix=NODEBUGGER-TUNE %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g 2>&1 \
// RUN: | FileCheck -check-prefixes=STRICT,NODEBUGGER-TUNE %s
// RUN: %clang --target=powerpc64-ibm-aix-xcoff -### %s -flto -g 2>&1 \
// RUN: | FileCheck -check-prefixes=STRICT,NODEBUGGER-TUNE %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -gdbx 2>&1 \
// RUN: | FileCheck -check-prefix=DBX -check-prefix=STRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb 2>&1 \
// RUN: | FileCheck -check-prefix=GDB -check-prefix=STRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb0 2>&1 \
// RUN: | FileCheck -check-prefix=GDB -check-prefix=NOSTRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -ggdb1 2>&1 \
// RUN: | FileCheck -check-prefix=GDB -check-prefix=STRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -g0 2>&1 \
// RUN: | FileCheck -check-prefix=NOSTRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -g -gno-strict-dwarf 2>&1 \
// RUN: | FileCheck -check-prefix=NOSTRICT %s
// RUN: %clang --target=powerpc-ibm-aix-xcoff -### %s -flto -gstrict-dwarf 2>&1 \
// RUN: | FileCheck -check-prefix=NOSTRICT %s
//
// DBX: "-bplugin_opt:-debugger-tune=dbx"
// GDB: "-bplugin_opt:-debugger-tune=gdb"
// NODEBUGGER-TUNE-NOT: "-bplugin_opt:-debugger-tune="
//
// STRICT: "-bplugin_opt:-strict-dwarf=true"
// NOSTRICT-NOT: "-bplugin_opt:-strict-dwarf=true"
// Test cspgo options
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fuse-ld=ld \
// RUN: -fcs-profile-generate 2>&1 | FileCheck -check-prefix=CSPGO %s
//
// CSPGO: "-bplugin_opt:-cs-profile-generate" "-bplugin_opt:-cs-profile-path=default_%m.profraw"
// Test integrated assembler options
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fno-integrated-as \
// RUN: -fintegrated-as 2>&1 | FileCheck --check-prefix=INTAS %s
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto -fintegrated-as \
// RUN: -fno-integrated-as 2>&1 | FileCheck --check-prefix=NOINTAS %s
// RUN: %clang --target=powerpc-ibm-aix -### %s -flto 2>&1 \
// RUN: | FileCheck --check-prefix=INTAS %s
//
// NOINTAS: "-bplugin_opt:-no-integrated-as=1"
// INTAS-NOT: "-bplugin_opt:-no-integrated-as"