r188352 - Driver::IsUsingLTO() no longer return true when seeing -emit-llvm.

Shuxin Yang shuxin.llvm at gmail.com
Tue Aug 13 21:36:53 PDT 2013


Author: shuxin_yang
Date: Tue Aug 13 23:36:53 2013
New Revision: 188352

URL: http://llvm.org/viewvc/llvm-project?rev=188352&view=rev
Log:
Driver::IsUsingLTO() no longer return true when seeing -emit-llvm.

The rationale for this change is to differentiate following two situations:
  1) clang -c -emit-llvm a.c
  2) clang -c -flto a.c 

Reviewed by Eric Christopher. Thanks a lot!

Modified:
    cfe/trunk/lib/Driver/Driver.cpp

Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=188352&r1=188351&r2=188352&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Tue Aug 13 23:36:53 2013
@@ -1339,6 +1339,10 @@ Action *Driver::ConstructPhaseAction(con
       types::ID Output =
         Args.hasArg(options::OPT_S) ? types::TY_LTO_IR : types::TY_LTO_BC;
       return new CompileJobAction(Input, Output);
+    } else if (Args.hasArg(options::OPT_emit_llvm)) {
+      types::ID Output =
+        Args.hasArg(options::OPT_S) ? types::TY_LLVM_IR : types::TY_LLVM_BC;
+      return new CompileJobAction(Input, Output);
     } else {
       return new CompileJobAction(Input, types::TY_PP_Asm);
     }
@@ -1351,9 +1355,7 @@ Action *Driver::ConstructPhaseAction(con
 }
 
 bool Driver::IsUsingLTO(const ArgList &Args) const {
-  // Check for -emit-llvm or -flto.
-  if (Args.hasArg(options::OPT_emit_llvm) ||
-      Args.hasFlag(options::OPT_flto, options::OPT_fno_lto, false))
+  if (Args.hasFlag(options::OPT_flto, options::OPT_fno_lto, false))
     return true;
 
   // Check for -O4.





More information about the cfe-commits mailing list