<font size=2 face="sans-serif">Hi, </font><br><br><font size=2 face="sans-serif">Took me a little while but I managed
to find out that this failure was due to a problem on the build bot machine
and not with your change.</font><br><font size=2 face="sans-serif">Everything looks good at this point.</font><br><font size=2 face="sans-serif">Sorry for the confusion!</font><br><br><font size=2 face="sans-serif">Stefan </font><br><br><br><br><br><font size=1 color=#5f5f5f face="sans-serif">From:      
 </font><font size=1 face="sans-serif">Dean Michael Berris
<dberris@google.com></font><br><font size=1 color=#5f5f5f face="sans-serif">To:      
 </font><font size=1 face="sans-serif">stefanp@ca.ibm.com</font><br><font size=1 color=#5f5f5f face="sans-serif">Cc:      
 </font><font size=1 face="sans-serif">LLVM Commits <llvm-commits@lists.llvm.org></font><br><font size=1 color=#5f5f5f face="sans-serif">Date:      
 </font><font size=1 face="sans-serif">2018/11/06 04:35 PM</font><br><font size=1 color=#5f5f5f face="sans-serif">Subject:    
   </font><font size=1 face="sans-serif">Re: [llvm] r346214
- [XRay] Update XRayRecord to support Custom/Typed Events</font><br><hr noshade><br><br><br><tt><font size=2>Hi Stefan -- do you have a way of consistently reproducing
this, or at<br>least getting a location on where the std::bad_alloc is being thrown?<br><br>Unfortunately I don't have access to this platform and it might be a<br>one-time occurrence, but it seems bizarre to me that this is happening<br>because this code isn't supposed to be allocating anything other than<br>the serialised buffer values.<br><br>Cheers<br>On Wed, Nov 7, 2018 at 5:34 AM Stefan Pintilie <stefanp@ca.ibm.com>
wrote:<br>><br>> Hi,<br>><br>> It looks like your patch may have broken the Power PC Little Endian
buildbot.<br>><br>> Here is the link to the buildbot:<br>> </font></tt><a href="http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/8365"><tt><font size=2>http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/8365</font></tt></a><tt><font size=2><br>><br>> Let me know if you have any questions.<br>><br>> Thanks,<br>> Stefan<br>><br>><br>><br>><br>> From:        Dean Michael Berris via llvm-commits
<llvm-commits@lists.llvm.org><br>> To:        llvm-commits@lists.llvm.org<br>> Date:        2018/11/06 03:54 AM<br>> Subject:        [llvm] r346214 - [XRay] Update
XRayRecord to support Custom/Typed Events<br>> Sent by:        "llvm-commits" <llvm-commits-bounces@lists.llvm.org><br>> ________________________________<br>><br>><br>><br>> Author: dberris<br>> Date: Tue Nov  6 00:51:37 2018<br>> New Revision: 346214<br>><br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project?rev=346214&view=rev"><tt><font size=2>http://llvm.org/viewvc/llvm-project?rev=346214&view=rev</font></tt></a><tt><font size=2><br>> Log:<br>> [XRay] Update XRayRecord to support Custom/Typed Events<br>><br>> Summary:<br>> This change cuts across LLVM and compiler-rt to add support for<br>> rendering custom events in the XRayRecord type, to allow for including<br>> user-provided annotations in the output YAML (as raw bytes).<br>><br>> This work enables us to add custom event and typed event records into<br>> the `llvm::xray::Trace` type for user-provided events. This can then
be<br>> programmatically handled through the C++ API and can be included in
some<br>> of the tooling as well. For now we support printing the raw data we<br>> encounter in the custom events in the converted output.<br>><br>> Future work will allow us to start interpreting these custom and typed<br>> events through a yet-to-be-defined API for extending the trace analysis<br>> library.<br>><br>> Reviewers: mboerger<br>><br>> Subscribers: hiraditya, llvm-commits<br>><br>> Differential Revision: </font></tt><a href="https://reviews.llvm.org/D54139"><tt><font size=2>https://reviews.llvm.org/D54139</font></tt></a><tt><font size=2><br>><br>> Modified:<br>>    llvm/trunk/include/llvm/XRay/FDRTraceExpander.h<br>>    llvm/trunk/include/llvm/XRay/XRayRecord.h<br>>    llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h<br>>    llvm/trunk/lib/XRay/FDRTraceExpander.cpp<br>>    llvm/trunk/lib/XRay/Profile.cpp<br>>    llvm/trunk/lib/XRay/RecordPrinter.cpp<br>>    llvm/trunk/lib/XRay/Trace.cpp<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt<br>>    llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt<br>>    llvm/trunk/tools/llvm-xray/xray-account.cpp<br>>    llvm/trunk/tools/llvm-xray/xray-converter.cpp<br>>    llvm/trunk/tools/llvm-xray/xray-graph.cpp<br>>    llvm/trunk/tools/llvm-xray/xray-stacks.cpp<br>><br>> Modified: llvm/trunk/include/llvm/XRay/FDRTraceExpander.h<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/FDRTraceExpander.h?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/FDRTraceExpander.h?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/include/llvm/XRay/FDRTraceExpander.h (original)<br>> +++ llvm/trunk/include/llvm/XRay/FDRTraceExpander.h Tue Nov  6
00:51:37 2018<br>> @@ -27,10 +27,10 @@ class TraceExpander : public RecordVisit<br>>   int32_t PID = 0;<br>>   int32_t TID = 0;<br>>   uint64_t BaseTSC = 0;<br>> -  XRayRecord CurrentRecord{0, 0, RecordTypes::ENTER, 0, 0, 0,
0, {}};<br>> +  XRayRecord CurrentRecord{0, 0, RecordTypes::ENTER, 0, 0, 0,
0, {}, {}};<br>>   uint16_t CPUId = 0;<br>>   uint16_t LogVersion = 0;<br>> -  bool BuildingFunction = false;<br>> +  bool BuildingRecord = false;<br>>   bool IgnoringRecords = false;<br>><br>>   void resetCurrentRecord();<br>><br>> Modified: llvm/trunk/include/llvm/XRay/XRayRecord.h<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/XRayRecord.h?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/XRayRecord.h?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/include/llvm/XRay/XRayRecord.h (original)<br>> +++ llvm/trunk/include/llvm/XRay/XRayRecord.h Tue Nov  6 00:51:37
2018<br>> @@ -17,6 +17,7 @@<br>><br>> #include <cstdint><br>> #include <vector><br>> +#include <string><br>><br>> namespace llvm {<br>> namespace xray {<br>> @@ -54,10 +55,23 @@ struct XRayFileHeader {<br>> /// This may or may not correspond to actual record types in the raw
trace (as<br>> /// the loader implementation may synthesize this information in the
process of<br>> /// of loading).<br>> -enum class RecordTypes { ENTER, EXIT, TAIL_EXIT, ENTER_ARG };<br>> +enum class RecordTypes {<br>> +  ENTER,<br>> +  EXIT,<br>> +  TAIL_EXIT,<br>> +  ENTER_ARG,<br>> +  CUSTOM_EVENT,<br>> +  TYPED_EVENT<br>> +};<br>><br>> +/// An XRayRecord is the denormalized view of data associated in
a trace. These<br>> +/// records may not correspond to actual entries in the raw traces,
but they are<br>> +/// the logical representation of records in a higher-level event
log.<br>> struct XRayRecord {<br>> -  /// The type of record.<br>> +  /// RecordType values are used as "sub-types" which
have meaning in the<br>> +  /// context of the `Type` below. For function call and custom
event records,<br>> +  /// the RecordType is always 0, while for typed events we
store the type in<br>> +  /// the RecordType field.<br>>   uint16_t RecordType;<br>><br>>   /// The CPU where the thread is running. We assume number of
CPUs <= 65536.<br>> @@ -66,7 +80,7 @@ struct XRayRecord {<br>>   /// Identifies the type of record.<br>>   RecordTypes Type;<br>><br>> -  /// The function ID for the record.<br>> +  /// The function ID for the record, if this is a function
call record.<br>>   int32_t FuncId;<br>><br>>   /// Get the full 8 bytes of the TSC when we get the log record.<br>> @@ -80,6 +94,9 @@ struct XRayRecord {<br>><br>>   /// The function call arguments.<br>>   std::vector<uint64_t> CallArgs;<br>> +<br>> +  /// For custom and typed events, we provide the raw data from
the trace.<br>> +  std::string Data;<br>> };<br>><br>> } // namespace xray<br>><br>> Modified: llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h (original)<br>> +++ llvm/trunk/include/llvm/XRay/YAMLXRayRecord.h Tue Nov  6
00:51:37 2018<br>> @@ -39,6 +39,7 @@ struct YAMLXRayRecord {<br>>   uint32_t TId;<br>>   uint32_t PId;<br>>   std::vector<uint64_t> CallArgs;<br>> +  std::string Data;<br>> };<br>><br>> struct YAMLXRayTrace {<br>> @@ -58,6 +59,8 @@ template <> struct ScalarEnumerationTrai<br>>     IO.enumCase(Type, "function-exit", xray::RecordTypes::EXIT);<br>>     IO.enumCase(Type, "function-tail-exit", xray::RecordTypes::TAIL_EXIT);<br>>     IO.enumCase(Type, "function-enter-arg", xray::RecordTypes::ENTER_ARG);<br>> +    IO.enumCase(Type, "custom-event", xray::RecordTypes::CUSTOM_EVENT);<br>> +    IO.enumCase(Type, "typed-event", xray::RecordTypes::TYPED_EVENT);<br>>   }<br>> };<br>><br>> @@ -73,16 +76,16 @@ template <> struct MappingTraits<xray::Y<br>><br>> template <> struct MappingTraits<xray::YAMLXRayRecord>
{<br>>   static void mapping(IO &IO, xray::YAMLXRayRecord &Record)
{<br>> -    // FIXME: Make this type actually be descriptive<br>>     IO.mapRequired("type", Record.RecordType);<br>> -    IO.mapRequired("func-id", Record.FuncId);<br>> +    IO.mapOptional("func-id", Record.FuncId);<br>>     IO.mapOptional("function", Record.Function);<br>>     IO.mapOptional("args", Record.CallArgs);<br>>     IO.mapRequired("cpu", Record.CPU);<br>> -    IO.mapRequired("thread", Record.TId);<br>> +    IO.mapOptional("thread", Record.TId, 0U);<br>>     IO.mapOptional("process", Record.PId, 0U);<br>>     IO.mapRequired("kind", Record.Type);<br>>     IO.mapRequired("tsc", Record.TSC);<br>> +    IO.mapOptional("data", Record.Data);<br>>   }<br>><br>>   static constexpr bool flow = true;<br>><br>> Modified: llvm/trunk/lib/XRay/FDRTraceExpander.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/FDRTraceExpander.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/FDRTraceExpander.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/lib/XRay/FDRTraceExpander.cpp (original)<br>> +++ llvm/trunk/lib/XRay/FDRTraceExpander.cpp Tue Nov  6 00:51:37
2018<br>> @@ -12,10 +12,11 @@ namespace llvm {<br>> namespace xray {<br>><br>> void TraceExpander::resetCurrentRecord() {<br>> -  if (BuildingFunction)<br>> +  if (BuildingRecord)<br>>     C(CurrentRecord);<br>> -  BuildingFunction = false;<br>> +  BuildingRecord = false;<br>>   CurrentRecord.CallArgs.clear();<br>> +  CurrentRecord.Data.clear();<br>> }<br>><br>> Error TraceExpander::visit(BufferExtents &) {<br>> @@ -36,9 +37,18 @@ Error TraceExpander::visit(TSCWrapRecord<br>>   return Error::success();<br>> }<br>><br>> -Error TraceExpander::visit(CustomEventRecord &) {<br>> -  // TODO: Support custom event records in the future.<br>> +Error TraceExpander::visit(CustomEventRecord &R) {<br>>   resetCurrentRecord();<br>> +  if (!IgnoringRecords) {<br>> +    CurrentRecord.TSC = R.tsc();<br>> +    CurrentRecord.CPU = R.cpu();<br>> +    CurrentRecord.PId = PID;<br>> +    CurrentRecord.TId = TID;<br>> +    CurrentRecord.Type = RecordTypes::CUSTOM_EVENT;<br>> +    std::copy(R.data().begin(), R.data().end(),<br>> +              std::back_inserter(CurrentRecord.Data));<br>> +    BuildingRecord = true;<br>> +  }<br>>   return Error::success();<br>> }<br>><br>> @@ -78,7 +88,7 @@ Error TraceExpander::visit(FunctionRecor<br>>     CurrentRecord.PId = PID;<br>>     CurrentRecord.TId = TID;<br>>     CurrentRecord.CPU = CPUId;<br>> -    BuildingFunction = true;<br>> +    BuildingRecord = true;<br>>   }<br>>   return Error::success();<br>> }<br>><br>> Modified: llvm/trunk/lib/XRay/Profile.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Profile.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Profile.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/lib/XRay/Profile.cpp (original)<br>> +++ llvm/trunk/lib/XRay/Profile.cpp Tue Nov  6 00:51:37 2018<br>> @@ -374,6 +374,12 @@ Expected<Profile> profileFromTrace(const<br>>       }<br>><br>>       break;<br>> +<br>> +    case RecordTypes::CUSTOM_EVENT:<br>> +    case RecordTypes::TYPED_EVENT:<br>> +      // TODO: Support an extension point to allow
handling of custom and typed<br>> +      // events in profiles.<br>> +      break;<br>>     }<br>>   }<br>><br>><br>> Modified: llvm/trunk/lib/XRay/RecordPrinter.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/RecordPrinter.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/RecordPrinter.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/lib/XRay/RecordPrinter.cpp (original)<br>> +++ llvm/trunk/lib/XRay/RecordPrinter.cpp Tue Nov  6 00:51:37
2018<br>> @@ -81,6 +81,10 @@ Error RecordPrinter::visit(FunctionRecor<br>>     OS << formatv("<Function Tail Exit: #{0}
delta = +{1}>", R.functionId(),<br>>                   R.delta());<br>>     break;<br>> +  case RecordTypes::CUSTOM_EVENT:<br>> +  case RecordTypes::TYPED_EVENT:<br>> +    // TODO: Flag as a bug?<br>> +    break;<br>>   }<br>>   OS << Delim;<br>>   return Error::success();<br>><br>> Modified: llvm/trunk/lib/XRay/Trace.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Trace.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Trace.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/lib/XRay/Trace.cpp (original)<br>> +++ llvm/trunk/lib/XRay/Trace.cpp Tue Nov  6 00:51:37 2018<br>> @@ -352,8 +352,9 @@ Error loadYAMLLog(StringRef Data, XRayFi<br>>   Records.clear();<br>>   std::transform(Trace.Records.begin(), Trace.Records.end(),<br>>                  std::back_inserter(Records),
[&](const YAMLXRayRecord &R) {<br>> -                   return
XRayRecord{R.RecordType, R.CPU, R.Type, R.FuncId,<br>> -                    
                R.TSC,    
   R.TId, R.PId,  R.CallArgs};<br>> +                   return
XRayRecord{R.RecordType, R.CPU,      R.Type,<br>> +                    
                R.FuncId,  
  R.TSC,      R.TId,<br>> +                    
                R.PId,    
   R.CallArgs, R.Data};<br>>                  });<br>>   return Error::success();<br>> }<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-basic-arg1-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,8 +8,8 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3500000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
17, thread: 8715, kind: function-enter, tsc: 22555670288232728 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
17, thread: 8715, kind: function-exit, tsc: 22555670288334784 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', args:
[ 1 ], cpu: 17, thread: 8715, kind: function-enter-arg, tsc: 22555670288335768
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
17, thread: 8715, kind: function-exit, tsc: 22555670288365224 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
17, thread: 8715, kind: function-enter, tsc: 22555670288232728, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
17, thread: 8715, kind: function-exit, tsc: 22555670288334784, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', args:
[ 1 ], cpu: 17, thread: 8715, kind: function-enter-arg, tsc: 22555670288335768,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
17, thread: 8715, kind: function-exit, tsc: 22555670288365224, data: ''
}<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-arg1-version3-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3900000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
0, thread: 2590, process: 2590, kind: function-enter, tsc: 2033303630902004
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033403115246844
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
0, thread: 2590, process: 2590, kind: function-enter, tsc: 2033490200702516
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033504122687120
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 67 ], cpu: 0, thread: 2590, process: 2590, kind: function-enter-arg,
tsc: 2033505343905936 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033505343936752
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
0, thread: 2590, process: 2590, kind: function-enter, tsc: 2033303630902004,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033403115246844,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
0, thread: 2590, process: 2590, kind: function-enter, tsc: 2033490200702516,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033504122687120,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 67 ], cpu: 0, thread: 2590, process: 2590, kind: function-enter-arg,
tsc: 2033505343905936, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
0, thread: 2590, process: 2590, kind: function-exit, tsc: 2033505343936752,
data: '' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-basic-log-version3-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,12 +8,12 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3900000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070767347414784
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070767347496472
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070768324320264
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070768324344100
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070768921602152
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070768921625968
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070769627174140
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070769627197624
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070767347414784,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070767347496472,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070768324320264,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070768324344100,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070768921602152,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070768921625968,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-enter, tsc: 2070769627174140,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
7, thread: 25518, process: 25518, kind: function-exit, tsc: 2070769627197624,
data: '' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-arg1-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,6 +8,6 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3500000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 1 ], cpu: 49, thread: 14648, kind: function-enter-arg, tsc: 18828908666543318
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
49, thread: 14648, kind: function-exit, tsc: 18828908666595604 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 1 ], cpu: 49, thread: 14648, kind: function-enter-arg, tsc: 18828908666543318,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
49, thread: 14648, kind: function-exit, tsc: 18828908666595604, data: ''
}<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-arg1-version3-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3900000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
6, thread: 2631, process: 2631, kind: function-enter, tsc: 2034042117104344
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034042117199088
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
6, thread: 2631, process: 2631, kind: function-enter, tsc: 2034043145686378
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034043145762200
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 67 ], cpu: 6, thread: 2631, process: 2631, kind: function-enter-arg,
tsc: 2034049739853430 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034049739878154
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
6, thread: 2631, process: 2631, kind: function-enter, tsc: 2034042117104344,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034042117199088,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
6, thread: 2631, process: 2631, kind: function-enter, tsc: 2034043145686378,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034043145762200,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', args:
[ 67 ], cpu: 6, thread: 2631, process: 2631, kind: function-enter-arg,
tsc: 2034049739853430, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
6, thread: 2631, process: 2631, kind: function-exit, tsc: 2034049739878154,
data: '' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-log-version3-to-yaml.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 3900000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069294857657498
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069294857707502
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069295590705912
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069295590734308
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069296377598128
}<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069296377627032
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069294857657498,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069294857707502,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069295590705912,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069295590734308,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-enter, tsc: 2069296377598128,
data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
4, thread: 25190, process: 25190, kind: function-exit, tsc: 2069296377627032,
data: '' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt (original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-fdr-to-yaml.txt Tue
Nov  6 00:51:37 2018<br>> @@ -8,17 +8,17 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 5678<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407340 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407346 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407347 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407387 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407437 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407467 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 4, function: '4', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407492 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 5, function: '5', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407517 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 5, function: '5', cpu:
5, thread: 5, kind: function-tail-exit, tsc: 7238225556407542 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 268435455, function: '268435455',
cpu: 5, thread: 5, kind: function-enter, tsc: 7238225556407552 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 268435455, function: '268435455',
cpu: 5, thread: 5, kind: function-exit, tsc: 7238225556407562 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 6, function: '6', cpu:
6, thread: 5, kind: function-enter, tsc: 7238225556407682 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 6, function: '6', cpu:
6, thread: 5, kind: function-exit, tsc: 7238225556407755 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407340, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407346, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407347, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407387, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407437, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
5, thread: 5, kind: function-exit, tsc: 7238225556407467, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 4, function: '4', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407492, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 5, function: '5', cpu:
5, thread: 5, kind: function-enter, tsc: 7238225556407517, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 5, function: '5', cpu:
5, thread: 5, kind: function-tail-exit, tsc: 7238225556407542, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 268435455, function: '268435455',
cpu: 5, thread: 5, kind: function-enter, tsc: 7238225556407552, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 268435455, function: '268435455',
cpu: 5, thread: 5, kind: function-exit, tsc: 7238225556407562, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 6, function: '6', cpu:
6, thread: 5, kind: function-enter, tsc: 7238225556407682, data: '' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 6, function: '6', cpu:
6, thread: 5, kind: function-exit, tsc: 7238225556407755, data: '' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml (original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-roundtrip.yaml Tue
Nov  6 00:51:37 2018<br>> @@ -19,6 +19,6 @@ records:<br>> #CHECK-NEXT:    nonstop-tsc: true<br>> #CHECK-NEXT:    cycle-frequency: 2601000000<br>> #CHECK-NEXT:  records:<br>> -#CHECK-NEXT:    - { type: 0, func-id: 1, function: '1',
cpu: 1, thread: 111, kind: function-enter, tsc: 10001 }<br>> -#CHECK-NEXT:    - { type: 0, func-id: 1, function: '1',
cpu: 1, thread: 111, kind: function-exit, tsc: 10100 }<br>> +#CHECK-NEXT:    - { type: 0, func-id: 1, function: '1',
cpu: 1, thread: 111, kind: function-enter, tsc: 10001, data: '' }<br>> +#CHECK-NEXT:    - { type: 0, func-id: 1, function: '1',
cpu: 1, thread: 111, kind: function-exit, tsc: 10100, data: '' }<br>> #CHECK-NEXT:  ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt (original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-to-yaml.txt Tue Nov
 6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 2601000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454542 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454670 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454762 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454802 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454542, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454670, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454762, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454802, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828, data: ''
}<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-with-debug-syms.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 2601000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: {{.*foo.*}},
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: {{.*foo.*}},
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: {{.*bar.*}},
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: {{.*bar.*}},
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: {{.*foo.*}},
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: {{.*foo.*}},
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: {{.*bar.*}},
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: {{.*bar.*}},
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: main, cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828, data: ''
}<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 2601000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '@(41caa0)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '@(41ca70)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '@(41ca70)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '@(41ca40)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '@(41ca40)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '@(41caa0)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '@(41caa0)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '@(41ca70)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '@(41ca70)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '@(41ca40)',
cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '@(41ca40)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802, data:
'' }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '@(41caa0)',
cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828, data:
'' }<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt
(original)<br>> +++ llvm/trunk/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt
Tue Nov  6 00:51:37 2018<br>> @@ -8,10 +8,10 @@<br>> ; CHECK-NEXT:   nonstop-tsc:     true<br>> ; CHECK-NEXT:   cycle-frequency: 2601000000<br>> ; CHECK-NEXT: records:<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454542 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454670 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454762 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454802 }<br>> -; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828 }<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841453914, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454542, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 2, function: '2', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454670, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-enter, tsc: 3315356841454762, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 1, function: '1', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841454802, data: ''
}<br>> +; CHECK-NEXT:   - { type: 0, func-id: 3, function: '3', cpu:
37, thread: 84697, kind: function-exit, tsc: 3315356841494828, data: ''
}<br>> ; CHECK-NEXT: ...<br>><br>> Modified: llvm/trunk/tools/llvm-xray/xray-account.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-account.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-account.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/tools/llvm-xray/xray-account.cpp (original)<br>> +++ llvm/trunk/tools/llvm-xray/xray-account.cpp Tue Nov  6 00:51:37
2018<br>> @@ -146,6 +146,10 @@ bool LatencyAccountant::accountRecord(co<br>><br>>   auto &ThreadStack = PerThreadFunctionStack[Record.TId];<br>>   switch (Record.Type) {<br>> +  case RecordTypes::CUSTOM_EVENT:<br>> +  case RecordTypes::TYPED_EVENT:<br>> +    // TODO: Support custom and typed event accounting
in the future.</font></tt><br><tt><font size=2>> +    return true;<br>>   case RecordTypes::ENTER:<br>>   case RecordTypes::ENTER_ARG: {<br>>     ThreadStack.emplace_back(Record.FuncId, Record.TSC);<br>> @@ -417,19 +421,25 @@ namespace llvm {<br>> template <> struct format_provider<llvm::xray::RecordTypes>
{<br>>   static void format(const llvm::xray::RecordTypes &T, raw_ostream
&Stream,<br>>                    
 StringRef Style) {<br>> -    switch(T) {<br>> -      case RecordTypes::ENTER:<br>> -        Stream << "enter";<br>> -        break;<br>> -      case RecordTypes::ENTER_ARG:<br>> -        Stream << "enter-arg";<br>> -        break;<br>> -      case RecordTypes::EXIT:<br>> -        Stream << "exit";<br>> -        break;<br>> -      case RecordTypes::TAIL_EXIT:<br>> -        Stream << "tail-exit";<br>> -        break;<br>> +    switch (T) {<br>> +    case RecordTypes::ENTER:<br>> +      Stream << "enter";<br>> +      break;<br>> +    case RecordTypes::ENTER_ARG:<br>> +      Stream << "enter-arg";<br>> +      break;<br>> +    case RecordTypes::EXIT:<br>> +      Stream << "exit";<br>> +      break;<br>> +    case RecordTypes::TAIL_EXIT:<br>> +      Stream << "tail-exit";<br>> +      break;<br>> +    case RecordTypes::CUSTOM_EVENT:<br>> +      Stream << "custom-event";<br>> +      break;<br>> +    case RecordTypes::TYPED_EVENT:<br>> +      Stream << "typed-event";<br>> +      break;<br>>     }<br>>   }<br>> };<br>><br>> Modified: llvm/trunk/tools/llvm-xray/xray-converter.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-converter.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-converter.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/tools/llvm-xray/xray-converter.cpp (original)<br>> +++ llvm/trunk/tools/llvm-xray/xray-converter.cpp Tue Nov  6
00:51:37 2018<br>> @@ -92,9 +92,10 @@ void TraceConverter::exportAsYAML(const<br>>     Trace.Records.push_back({R.RecordType, R.CPU, R.Type,
R.FuncId,<br>>                    
         Symbolize ? FuncIdHelper.SymbolOrNumber(R.FuncId)<br>>                    
                   :
llvm::to_string(R.FuncId),<br>> -                    
        R.TSC, R.TId, R.PId, R.CallArgs});<br>> +                    
        R.TSC, R.TId, R.PId, R.CallArgs, R.Data});<br>>   }<br>>   Output Out(OS, nullptr, 0);<br>> +  Out.setWriteDefaultValues(false);<br>>   Out << Trace;<br>> }<br>><br>> @@ -123,21 +124,27 @@ void TraceConverter::exportAsRAWv1(const<br>>   // Then write out the rest of the records, still in an endian-appropriate<br>>   // format.<br>>   for (const auto &R : Records) {<br>> -    Writer.write(R.RecordType);<br>> -    // The on disk naive raw format uses 8 bit CPUs, but
the record has 16.<br>> -    // There's no choice but truncation.<br>> -    Writer.write(static_cast<uint8_t>(R.CPU));<br>>     switch (R.Type) {<br>>     case RecordTypes::ENTER:<br>>     case RecordTypes::ENTER_ARG:<br>> +      Writer.write(R.RecordType);<br>> +      Writer.write(static_cast<uint8_t>(R.CPU));<br>>       Writer.write(uint8_t{0});<br>>       break;<br>>     case RecordTypes::EXIT:<br>> +      Writer.write(R.RecordType);<br>> +      Writer.write(static_cast<uint8_t>(R.CPU));<br>>       Writer.write(uint8_t{1});<br>>       break;<br>>     case RecordTypes::TAIL_EXIT:<br>> +      Writer.write(R.RecordType);<br>> +      Writer.write(static_cast<uint8_t>(R.CPU));<br>>       Writer.write(uint8_t{2});<br>>       break;<br>> +    case RecordTypes::CUSTOM_EVENT:<br>> +    case RecordTypes::TYPED_EVENT:<br>> +      // Skip custom and typed event records for v1
logs.<br>> +      continue;<br>>     }<br>>     Writer.write(R.FuncId);<br>>     Writer.write(R.TSC);<br>> @@ -264,6 +271,10 @@ void TraceConverter::exportAsChromeTrace<br>>     double EventTimestampUs = double(1000000) / CycleFreq
* double(R.TSC);<br>>     StackTrieNode *&StackCursor = StackCursorByThreadId[R.TId];<br>>     switch (R.Type) {<br>> +    case RecordTypes::CUSTOM_EVENT:<br>> +    case RecordTypes::TYPED_EVENT:<br>> +      // TODO: Support typed and custom event rendering
on Chrome Trace Viewer.<br>> +      break;<br>>     case RecordTypes::ENTER:<br>>     case RecordTypes::ENTER_ARG:<br>>       StackCursor = findOrCreateStackNode(StackCursor,
R.FuncId, R.TId,<br>><br>> Modified: llvm/trunk/tools/llvm-xray/xray-graph.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-graph.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-graph.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/tools/llvm-xray/xray-graph.cpp (original)<br>> +++ llvm/trunk/tools/llvm-xray/xray-graph.cpp Tue Nov  6 00:51:37
2018<br>> @@ -246,6 +246,10 @@ Error GraphRenderer::accountRecord(const<br>>     updateStat(G[Record.FuncId].S, D);<br>>     break;<br>>   }<br>> +  case RecordTypes::CUSTOM_EVENT:<br>> +  case RecordTypes::TYPED_EVENT:<br>> +    // TODO: Support custom and typed events in the graph
processing?<br>> +    break;<br>>   }<br>><br>>   return Error::success();<br>><br>> Modified: llvm/trunk/tools/llvm-xray/xray-stacks.cpp<br>> URL: </font></tt><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-stacks.cpp?rev=346214&r1=346213&r2=346214&view=diff"><tt><font size=2>http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-stacks.cpp?rev=346214&r1=346213&r2=346214&view=diff</font></tt></a><tt><font size=2><br>> ==============================================================================<br>> --- llvm/trunk/tools/llvm-xray/xray-stacks.cpp (original)<br>> +++ llvm/trunk/tools/llvm-xray/xray-stacks.cpp Tue Nov  6 00:51:37
2018<br>> @@ -366,6 +366,9 @@ public:<br>>                    
                AccountRecordState
*state) {<br>>     auto &TS = ThreadStackMap[R.TId];<br>>     switch (R.Type) {<br>> +    case RecordTypes::CUSTOM_EVENT:<br>> +    case RecordTypes::TYPED_EVENT:<br>> +      return AccountRecordStatus::OK;<br>>     case RecordTypes::ENTER:<br>>     case RecordTypes::ENTER_ARG: {<br>>       state->wasLastRecordExit = false;<br>><br>><br>> _______________________________________________<br>> llvm-commits mailing list<br>> llvm-commits@lists.llvm.org<br>> </font></tt><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits"><tt><font size=2>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</font></tt></a><tt><font size=2><br>><br>><br>><br><br></font></tt><br><BR>