[PATCH] D15645: Allow multiple debug types in --debug-only
Christof Douma via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 12 02:27:08 PST 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL257466: The --debug-only option now takes a comma separated list of debug types. (authored by christof).
Changed prior to commit:
http://reviews.llvm.org/D15645?vs=43234&id=44615#toc
Repository:
rL LLVM
http://reviews.llvm.org/D15645
Files:
llvm/trunk/docs/ProgrammersManual.rst
llvm/trunk/lib/Support/Debug.cpp
Index: llvm/trunk/lib/Support/Debug.cpp
===================================================================
--- llvm/trunk/lib/Support/Debug.cpp
+++ llvm/trunk/lib/Support/Debug.cpp
@@ -95,19 +95,21 @@
if (Val.empty())
return;
DebugFlag = true;
- CurrentDebugType->push_back(Val);
+ SmallVector<StringRef,8> dbgTypes;
+ StringRef(Val).split(dbgTypes, ',', -1, false);
+ for (auto dbgType : dbgTypes)
+ CurrentDebugType->push_back(dbgType);
}
};
}
static DebugOnlyOpt DebugOnlyOptLoc;
static cl::opt<DebugOnlyOpt, true, cl::parser<std::string> >
-DebugOnly("debug-only", cl::desc("Enable a specific type of debug output"),
+DebugOnly("debug-only", cl::desc("Enable a specific type of debug output (comma separated list of types)"),
cl::Hidden, cl::ZeroOrMore, cl::value_desc("debug string"),
cl::location(DebugOnlyOptLoc), cl::ValueRequired);
-
// Signal handlers - dump debug output on termination.
static void debug_user_sig_handler(void *Cookie) {
// This is a bit sneaky. Since this is under #ifndef NDEBUG, we
Index: llvm/trunk/docs/ProgrammersManual.rst
===================================================================
--- llvm/trunk/docs/ProgrammersManual.rst
+++ llvm/trunk/docs/ProgrammersManual.rst
@@ -408,6 +408,9 @@
'foo' debug type
$ opt < a.bc > /dev/null -mypass -debug-only=bar
'bar' debug type
+ $ opt < a.bc > /dev/null -mypass -debug-only=foo,bar
+ 'foo' debug type
+ 'bar' debug type
Of course, in practice, you should only set ``DEBUG_TYPE`` at the top of a file,
to specify the debug type for the entire module. Be careful that you only do
@@ -417,7 +420,8 @@
use the same string, they will all be turned on when the name is specified.
This allows, for example, all debug information for instruction scheduling to be
enabled with ``-debug-only=InstrSched``, even if the source lives in multiple
-files.
+files. The name must not include a comma (,) as that is used to seperate the
+arguments of the ``-debug-only`` option.
For performance reasons, -debug-only is not available in optimized build
(``--enable-optimized``) of LLVM.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15645.44615.patch
Type: text/x-patch
Size: 2153 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160112/fe5cdbea/attachment.bin>
More information about the llvm-commits
mailing list