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 + 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 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);