From ce96902d88d473697f05c0465952dae374be564e Mon Sep 17 00:00:00 2001 From: Andrew Trick Date: Tue, 5 Apr 2011 18:54:36 +0000 Subject: 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128910 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/opt/opt.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tools/opt/opt.cpp') diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 3f60126b0d..25474c44a6 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -701,6 +701,9 @@ int main(int argc, char **argv) { Passes.add(createBitcodeWriterPass(Out->os())); } + // Before executing passes, print the final values of the LLVM options. + cl::PrintOptionValues(); + // Now that we have all of the passes ready, run them. Passes.run(*M.get()); -- cgit v1.2.3