diff options
author | Andrew Trick <atrick@apple.com> | 2011-04-05 18:56:55 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2011-04-05 18:56:55 +0000 |
commit | 15e36e8edd74b289de73abb456171580b396020a (patch) | |
tree | 588bc2274dee4f9fe03f93bca7615640a9052380 /clang/lib/CodeGen/BackendUtil.cpp | |
parent | 12004013ef31a063c76ab44db41180739b44dc1a (diff) | |
download | llvm-15e36e8edd74b289de73abb456171580b396020a.zip llvm-15e36e8edd74b289de73abb456171580b396020a.tar.gz llvm-15e36e8edd74b289de73abb456171580b396020a.tar.bz2 |
Added *hidden* flags -print-options and -print-all-options so
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.
llvm-svn: 128911
Diffstat (limited to 'clang/lib/CodeGen/BackendUtil.cpp')
-rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 7762674..f3d79cb 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -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. |