]> granicus.if.org Git - clang/commitdiff
Added *hidden* flags -print-options and -print-all-options so
authorAndrew Trick <atrick@apple.com>
Tue, 5 Apr 2011 18:56:55 +0000 (18:56 +0000)
committerAndrew Trick <atrick@apple.com>
Tue, 5 Apr 2011 18:56:55 +0000 (18:56 +0000)
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.

Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128911 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/BackendUtil.cpp

index 77626746e93d8ab64630d8e888d48c03fc878b37..f3d79cb1e0e14d7338e6d60fa0af1f86e222b3fd 100644 (file)
@@ -323,6 +323,9 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action, raw_ostream *OS) {
       return;
   }
 
+  // Before executing passes, print the final values of the LLVM options.
+  cl::PrintOptionValues();
+
   // Run passes. For now we do all passes at once, but eventually we
   // would like to have the option of streaming code generation.