[PATCH] D108019: [NFC][llvm-xray] add a llvm-xray convert option `symbolize-no-demangle`

Enna1 via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 13 19:12:46 PDT 2021


Enna1 updated this revision to Diff 366389.
Enna1 edited the summary of this revision.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108019/new/

https://reviews.llvm.org/D108019

Files:
  llvm/test/tools/llvm-xray/X86/convert-with-debug-syms-no-demangle.txt
  llvm/tools/llvm-xray/xray-converter.cpp


Index: llvm/tools/llvm-xray/xray-converter.cpp
===================================================================
--- llvm/tools/llvm-xray/xray-converter.cpp
+++ llvm/tools/llvm-xray/xray-converter.cpp
@@ -57,6 +57,11 @@
                      cl::init(false), cl::sub(Convert));
 static cl::alias ConvertSymbolize2("y", cl::aliasopt(ConvertSymbolize),
                                    cl::desc("Alias for -symbolize"));
+static cl::opt<bool> ConvertSymbolizeNoDemangle(
+    "symbolize-no-demangle",
+    cl::desc("determines whether to demangle function name "
+             "when symbolize function ids from the input log"),
+    cl::init(false), cl::sub(Convert));
 
 static cl::opt<std::string>
     ConvertInstrMap("instr_map",
@@ -373,7 +378,10 @@
   }
 
   const auto &FunctionAddresses = Map.getFunctionAddresses();
-  symbolize::LLVMSymbolizer Symbolizer;
+  symbolize::LLVMSymbolizer::Options SymbolizerOpts;
+  if (ConvertSymbolizeNoDemangle)
+    SymbolizerOpts.Demangle = false;
+  symbolize::LLVMSymbolizer Symbolizer(SymbolizerOpts);
   llvm::xray::FuncIdConversionHelper FuncIdHelper(ConvertInstrMap, Symbolizer,
                                                   FunctionAddresses);
   llvm::xray::TraceConverter TC(FuncIdHelper, ConvertSymbolize);
Index: llvm/test/tools/llvm-xray/X86/convert-with-debug-syms-no-demangle.txt
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-xray/X86/convert-with-debug-syms-no-demangle.txt
@@ -0,0 +1,17 @@
+; RUN: llvm-xray convert -m %S/Inputs/elf64-sample-o2.bin --symbolize --symbolize-no-demangle=true %S/Inputs/naive-log-simple.xray -f=yaml -o - 2>&1 | FileCheck %s
+
+; CHECK:      ---
+; CHECK-NEXT: header:
+; CHECK-NEXT:   version:         1
+; CHECK-NEXT:   type:            0
+; CHECK-NEXT:   constant-tsc:    true
+; CHECK-NEXT:   nonstop-tsc:     true
+; CHECK-NEXT:   cycle-frequency: 2601000000
+; CHECK-NEXT: records:
+; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914, data: '' }
+; CHECK-NEXT:   - { type: 0, func-id: 2, function: _Z3foov, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542, data: '' }
+; CHECK-NEXT:   - { type: 0, func-id: 2, function: _Z3foov, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670, data: '' }
+; CHECK-NEXT:   - { type: 0, func-id: 1, function: _Z3barv, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762, data: '' }
+; CHECK-NEXT:   - { type: 0, func-id: 1, function: _Z3barv, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802, data: '' }
+; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828, data: '' }
+; CHECK-NEXT: ...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108019.366389.patch
Type: text/x-patch
Size: 2804 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210814/825fb7fb/attachment.bin>


More information about the llvm-commits mailing list