diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -400,7 +400,7 @@ def ObjC : Flag<["-"], "ObjC">, Flags<[DriverOption]>, HelpText<"Treat source input files as Objective-C inputs">; def O : Joined<["-"], "O">, Group, Flags<[CC1Option]>; -def O_flag : Flag<["-"], "O">, Flags<[CC1Option]>, Alias, AliasArgs<["2"]>; +def O_flag : Flag<["-"], "O">, Flags<[CC1Option]>, Alias, AliasArgs<["1"]>; def Ofast : Joined<["-"], "Ofast">, Group, Flags<[CC1Option]>; def P : Flag<["-"], "P">, Flags<[CC1Option]>, Group, HelpText<"Disable linemarker output in -E mode">; diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -137,7 +137,7 @@ assert(A->getOption().matches(options::OPT_O)); StringRef S(A->getValue()); - if (S == "s" || S == "z" || S.empty()) + if (S == "s" || S == "z") return llvm::CodeGenOpt::Default; if (S == "g") diff --git a/clang/test/CodeGen/builtins-systemz-zvector-constrained.c b/clang/test/CodeGen/builtins-systemz-zvector-constrained.c --- a/clang/test/CodeGen/builtins-systemz-zvector-constrained.c +++ b/clang/test/CodeGen/builtins-systemz-zvector-constrained.c @@ -1,10 +1,10 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM diff --git a/clang/test/CodeGen/builtins-systemz-zvector.c b/clang/test/CodeGen/builtins-systemz-zvector.c --- a/clang/test/CodeGen/builtins-systemz-zvector.c +++ b/clang/test/CodeGen/builtins-systemz-zvector.c @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include diff --git a/clang/test/CodeGen/builtins-systemz-zvector2-constrained.c b/clang/test/CodeGen/builtins-systemz-zvector2-constrained.c --- a/clang/test/CodeGen/builtins-systemz-zvector2-constrained.c +++ b/clang/test/CodeGen/builtins-systemz-zvector2-constrained.c @@ -1,10 +1,10 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM diff --git a/clang/test/CodeGen/builtins-systemz-zvector2.c b/clang/test/CodeGen/builtins-systemz-zvector2.c --- a/clang/test/CodeGen/builtins-systemz-zvector2.c +++ b/clang/test/CodeGen/builtins-systemz-zvector2.c @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include diff --git a/clang/test/CodeGen/builtins-systemz-zvector3-constrained.c b/clang/test/CodeGen/builtins-systemz-zvector3-constrained.c --- a/clang/test/CodeGen/builtins-systemz-zvector3-constrained.c +++ b/clang/test/CodeGen/builtins-systemz-zvector3-constrained.c @@ -1,10 +1,10 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z15 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z15 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -ffp-exception-behavior=strict \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM diff --git a/clang/test/CodeGen/builtins-systemz-zvector3.c b/clang/test/CodeGen/builtins-systemz-zvector3.c --- a/clang/test/CodeGen/builtins-systemz-zvector3.c +++ b/clang/test/CodeGen/builtins-systemz-zvector3.c @@ -1,9 +1,9 @@ // REQUIRES: systemz-registered-target // RUN: %clang_cc1 -target-cpu z15 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s // RUN: %clang_cc1 -target-cpu z15 -triple s390x-linux-gnu \ -// RUN: -O -fzvector -flax-vector-conversions=none \ +// RUN: -O2 -fzvector -flax-vector-conversions=none \ // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM #include diff --git a/clang/test/CodeGen/fma-builtins-constrained.c b/clang/test/CodeGen/fma-builtins-constrained.c --- a/clang/test/CodeGen/fma-builtins-constrained.c +++ b/clang/test/CodeGen/fma-builtins-constrained.c @@ -1,8 +1,8 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O -emit-llvm -o - | FileCheck --check-prefix=COMMON --check-prefix=COMMONIR --check-prefix=UNCONSTRAINED %s -// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -ffp-exception-behavior=strict -O -emit-llvm -o - | FileCheck --check-prefix=COMMON --check-prefix=COMMONIR --check-prefix=CONSTRAINED %s -// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O -S -o - | FileCheck --check-prefix=COMMON --check-prefix=CHECK-ASM --check-prefix=CHECK-ASM-UNCONSTRAINED %s -// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O -ffp-exception-behavior=strict -S -o - | FileCheck --check-prefix=COMMON --check-prefix=CHECK-ASM --check-prefix=CHECK-ASM-CONSTRAINED %s +// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O2 -emit-llvm -o - | FileCheck --check-prefix=COMMON --check-prefix=COMMONIR --check-prefix=UNCONSTRAINED %s +// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -ffp-exception-behavior=strict -O2 -emit-llvm -o - | FileCheck --check-prefix=COMMON --check-prefix=COMMONIR --check-prefix=CONSTRAINED %s +// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O2 -S -o - | FileCheck --check-prefix=COMMON --check-prefix=CHECK-ASM --check-prefix=CHECK-ASM-UNCONSTRAINED %s +// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-unknown-linux-gnu -target-feature +fma -O2 -ffp-exception-behavior=strict -S -o - | FileCheck --check-prefix=COMMON --check-prefix=CHECK-ASM --check-prefix=CHECK-ASM-CONSTRAINED %s #include diff --git a/clang/test/Driver/O.c b/clang/test/Driver/O.c --- a/clang/test/Driver/O.c +++ b/clang/test/Driver/O.c @@ -1,7 +1,7 @@ // Test that we parse and translate the -O option correctly. // RUN: %clang -O -### %s 2>&1 | FileCheck -check-prefix=CHECK-O %s -// CHECK-O: -O2 +// CHECK-O: -O1 // RUN: %clang -O0 -### %s 2>&1 | FileCheck -check-prefix=CHECK-O0 %s // CHECK-O0: -O0 diff --git a/clang/test/Driver/clang_f_opts.c b/clang/test/Driver/clang_f_opts.c --- a/clang/test/Driver/clang_f_opts.c +++ b/clang/test/Driver/clang_f_opts.c @@ -135,7 +135,7 @@ // RUN: %clang -### -S -fno-tree-vectorize -fvectorize %s 2>&1 | FileCheck -check-prefix=CHECK-VECTORIZE %s // RUN: %clang -### -S -fno-tree-vectorize %s 2>&1 | FileCheck -check-prefix=CHECK-NO-VECTORIZE %s // RUN: %clang -### -S -ftree-vectorize -fno-vectorize %s 2>&1 | FileCheck -check-prefix=CHECK-NO-VECTORIZE %s -// RUN: %clang -### -S -O %s 2>&1 | FileCheck -check-prefix=CHECK-VECTORIZE %s +// RUN: %clang -### -S -O %s 2>&1 | FileCheck -check-prefix=CHECK-NO-VECTORIZE %s // RUN: %clang -### -S -O2 %s 2>&1 | FileCheck -check-prefix=CHECK-VECTORIZE %s // RUN: %clang -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-VECTORIZE %s // RUN: %clang -### -S -O3 %s 2>&1 | FileCheck -check-prefix=CHECK-VECTORIZE %s @@ -157,7 +157,7 @@ // RUN: %clang -### -S -fno-tree-slp-vectorize -fslp-vectorize %s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZE %s // RUN: %clang -### -S -fno-tree-slp-vectorize %s 2>&1 | FileCheck -check-prefix=CHECK-NO-SLP-VECTORIZE %s // RUN: %clang -### -S -ftree-slp-vectorize -fno-slp-vectorize %s 2>&1 | FileCheck -check-prefix=CHECK-NO-SLP-VECTORIZE %s -// RUN: %clang -### -S -O %s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZE %s +// RUN: %clang -### -S -O %s 2>&1 | FileCheck -check-prefix=CHECK-NO-SLP-VECTORIZE %s // RUN: %clang -### -S -O2 %s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZE %s // RUN: %clang -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZE %s // RUN: %clang -### -S -Oz %s 2>&1 | FileCheck -check-prefix=CHECK-SLP-VECTORIZE %s diff --git a/clang/test/Driver/lto.c b/clang/test/Driver/lto.c --- a/clang/test/Driver/lto.c +++ b/clang/test/Driver/lto.c @@ -49,7 +49,7 @@ // NO-LLVMGOLD-NOT: "-plugin" "{{.*}}{{[/\\]}}LLVMgold.{{dll|dylib|so}}" // RUN: %clang -target x86_64-unknown-linux-gnu --sysroot %S/Inputs/basic_cross_linux_tree %s \ -// RUN: -fuse-ld=lld -flto -O -### 2>&1 | FileCheck --check-prefix=O2 %s +// RUN: -fuse-ld=lld -flto -O -### 2>&1 | FileCheck --check-prefix=O1 %s // RUN: %clang -target x86_64-unknown-linux-gnu --sysroot %S/Inputs/basic_cross_linux_tree %s \ // RUN: -fuse-ld=lld -flto -O1 -### 2>&1 | FileCheck --check-prefix=O1 %s // RUN: %clang -target x86_64-unknown-linux-gnu --sysroot %S/Inputs/basic_cross_linux_tree %s \