[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