summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2011-04-18 19:44:09 +0000
committerDaniel Dunbar <daniel@zuster.org>2011-04-18 19:44:09 +0000
commit10d0868efb320fc33ced13b0abeea7070cd41635 (patch)
treeee8ebfd4167c2d83a768c383096c3d010bbd0787
parentc37aa0b26a0489028c9e1c30949d766a33ba073e (diff)
downloadbcm5719-llvm-10d0868efb320fc33ced13b0abeea7070cd41635.tar.gz
bcm5719-llvm-10d0868efb320fc33ced13b0abeea7070cd41635.zip
Driver: Support -fno-lto.
llvm-svn: 129712
-rw-r--r--clang/include/clang/Driver/Options.td1
-rw-r--r--clang/lib/Driver/Driver.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 8f4a250cadd..9a29e349f1c 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -305,6 +305,7 @@ def flimit_debug_info : Flag<"-flimit-debug-info">, Group<f_Group>,
HelpText<"Limit debug information produced to reduce size of debug binary">;
def flimited_precision_EQ : Joined<"-flimited-precision=">, Group<f_Group>;
def flto : Flag<"-flto">, Group<f_Group>;
+def fno_lto : Flag<"-fno-lto">, Group<f_Group>;
def fmacro_backtrace_limit_EQ : Joined<"-fmacro-backtrace-limit=">,
Group<f_Group>;
def fmath_errno : Flag<"-fmath-errno">, Group<f_Group>;
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index a3c93bd88c9..39ace114e63 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -950,7 +950,8 @@ Action *Driver::ConstructPhaseAction(const ArgList &Args, phases::ID Phase,
} else if (Args.hasArg(options::OPT_emit_ast)) {
return new CompileJobAction(Input, types::TY_AST);
} else if (Args.hasArg(options::OPT_emit_llvm) ||
- Args.hasArg(options::OPT_flto) || HasO4) {
+ Args.hasFlag(options::OPT_flto, options::OPT_fno_lto, false) ||
+ HasO4) {
types::ID Output =
Args.hasArg(options::OPT_S) ? types::TY_LTO_IR : types::TY_LTO_BC;
return new CompileJobAction(Input, Output);
OpenPOWER on IntegriCloud