Added *hidden* flags -print-options and -print-all-options so
authorAndrew Trick <atrick@apple.com>
Tue, 5 Apr 2011 18:54:36 +0000 (18:54 +0000)
committerAndrew Trick <atrick@apple.com>
Tue, 5 Apr 2011 18:54:36 +0000 (18:54 +0000)
commitce96902d88d473697f05c0465952dae374be564e
tree8dc714413e3a45a808e238a9091a6059d4575638
parent5dc0c503725c56aa74656b7c1221340f238bfa3f
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
include/llvm/Support/CommandLine.h
lib/Support/CommandLine.cpp
tools/llc/llc.cpp
tools/opt/opt.cpp