summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-08-26 14:05:41 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-08-26 14:05:41 +0000
commit91780dec58c88880cc264a4cdd1f8ba3a420159b (patch)
tree74df57170cdbd9f9eb9c00641cebf84dc84a2f7f /clang
parent9e3e80208fa3b95dfdae6998eb78e71696d3859e (diff)
downloadbcm5719-llvm-91780dec58c88880cc264a4cdd1f8ba3a420159b.tar.gz
bcm5719-llvm-91780dec58c88880cc264a4cdd1f8ba3a420159b.zip
Simplify now that -O4 just maps to -O3 and -O is an alias of -O2.
llvm-svn: 189218
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Driver/Options.td2
-rw-r--r--clang/lib/Driver/Tools.cpp16
2 files changed, 6 insertions, 12 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index a9e2f53d2a2..b6ecdcd6a90 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -214,13 +214,13 @@ def MT : JoinedOrSeparate<["-"], "MT">, Group<M_Group>, Flags<[CC1Option]>,
def Mach : Flag<["-"], "Mach">;
def M : Flag<["-"], "M">, Group<M_Group>;
def O0 : Flag<["-"], "O0">, Group<O_Group>, Flags<[CC1Option]>;
-def O4 : Flag<["-"], "O4">, Group<O_Group>, Flags<[CC1Option]>;
def ObjCXX : Flag<["-"], "ObjC++">, Flags<[DriverOption]>,
HelpText<"Treat source input files as Objective-C++ inputs">;
def ObjC : Flag<["-"], "ObjC">, Flags<[DriverOption]>,
HelpText<"Treat source input files as Objective-C inputs">;
def O : Joined<["-"], "O">, Group<O_Group>, Flags<[CC1Option]>;
def O_flag : Flag<["-"], "O">, Flags<[CC1Option]>, Alias<O>, AliasArgs<["2"]>;
+def O4 : Flag<["-"], "O4">, Alias<O>, AliasArgs<["3"]>;
def Ofast : Joined<["-"], "Ofast">, Group<O_Group>, Flags<[CC1Option]>;
def P : Flag<["-"], "P">, Flags<[CC1Option]>,
HelpText<"Disable linemarker output in -E mode">;
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 1d5b18f0c93..49deb26e6a5 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1863,8 +1863,7 @@ static bool isOptimizationLevelFast(const ArgList &Args) {
/// \brief Vectorize at all optimization levels greater than 1 except for -Oz.
static bool shouldEnableVectorizerAtOLevel(const ArgList &Args) {
if (Arg *A = Args.getLastArg(options::OPT_O_Group)) {
- if (A->getOption().matches(options::OPT_O4) ||
- A->getOption().matches(options::OPT_Ofast))
+ if (A->getOption().matches(options::OPT_Ofast))
return true;
if (A->getOption().matches(options::OPT_O0))
@@ -1872,9 +1871,9 @@ static bool shouldEnableVectorizerAtOLevel(const ArgList &Args) {
assert(A->getOption().matches(options::OPT_O) && "Must have a -O flag");
- // Vectorize -O (which really is -O2), -Os.
+ // Vectorize -Os.
StringRef S(A->getValue());
- if (S == "s" || S.empty())
+ if (S == "s")
return true;
// Don't vectorize -Oz.
@@ -2623,13 +2622,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
// preprocessed inputs and configure concludes that -fPIC is not supported.
Args.ClaimAllArgs(options::OPT_D);
- // Manually translate -O4 to -O3; let clang reject others.
- if (Arg *A = Args.getLastArg(options::OPT_O_Group)) {
- if (A->getOption().matches(options::OPT_O4))
- CmdArgs.push_back("-O3");
- else
- A->render(Args, CmdArgs);
- }
+ if (Arg *A = Args.getLastArg(options::OPT_O_Group))
+ A->render(Args, CmdArgs);
// Don't warn about unused -flto. This can happen when we're preprocessing or
// precompiling.
OpenPOWER on IntegriCloud