Add -Oz option and use it to set the inline threshold to 25.

Radar 9333566.  Patch by Chad Rosier!

llvm-svn: 130554
This commit is contained in:
Bob Wilson
2011-04-29 22:49:50 +00:00
parent 328bad02fa
commit 9a5f84facb
5 changed files with 9 additions and 9 deletions

View File

@@ -139,7 +139,7 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts,
Res.push_back("-momit-leaf-frame-pointer");
if (Opts.OptimizeSize) {
assert(Opts.OptimizationLevel == 2 && "Invalid options!");
Res.push_back("-Os");
Opts.OptimizeSize == 1 ? Res.push_back("-Os") : Res.push_back("-Oz");
} else if (Opts.OptimizationLevel != 0)
Res.push_back("-O" + llvm::utostr(Opts.OptimizationLevel));
if (!Opts.MainFileName.empty()) {
@@ -815,8 +815,8 @@ static unsigned getOptimizationLevel(ArgList &Args, InputKind IK,
unsigned DefaultOpt = 0;
if (IK == IK_OpenCL && !Args.hasArg(OPT_cl_opt_disable))
DefaultOpt = 2;
// -Os implies -O2
return Args.hasArg(OPT_Os) ? 2 :
// -Os/-Oz implies -O2
return (Args.hasArg(OPT_Os) || Args.hasArg (OPT_Oz)) ? 2 :
Args.getLastArgIntValue(OPT_O, DefaultOpt, Diags);
}
@@ -931,6 +931,7 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
Opts.NoCommon = Args.hasArg(OPT_fno_common);
Opts.NoImplicitFloat = Args.hasArg(OPT_no_implicit_float);
Opts.OptimizeSize = Args.hasArg(OPT_Os);
Opts.OptimizeSize = Args.hasArg(OPT_Oz) ? 2 : Opts.OptimizeSize;
Opts.SimplifyLibCalls = !(Args.hasArg(OPT_fno_builtin) ||
Args.hasArg(OPT_ffreestanding));
Opts.UnrollLoops = Args.hasArg(OPT_funroll_loops) ||