13void TraceExpander::resetCurrentRecord() {
16 BuildingRecord =
false;
17 CurrentRecord.CallArgs.clear();
18 CurrentRecord.Data.clear();
41 if (!IgnoringRecords) {
42 CurrentRecord.TSC = R.tsc();
43 CurrentRecord.CPU = R.cpu();
44 CurrentRecord.PId = PID;
45 CurrentRecord.TId = TID;
47 CurrentRecord.Data = std::string(R.data());
48 BuildingRecord =
true;
55 if (!IgnoringRecords) {
57 CurrentRecord.TSC = BaseTSC;
58 CurrentRecord.CPU = CPUId;
59 CurrentRecord.PId = PID;
60 CurrentRecord.TId = TID;
62 CurrentRecord.Data = std::string(R.data());
63 BuildingRecord =
true;
70 if (!IgnoringRecords) {
72 CurrentRecord.TSC = BaseTSC;
73 CurrentRecord.CPU = CPUId;
74 CurrentRecord.PId = PID;
75 CurrentRecord.TId = TID;
76 CurrentRecord.RecordType = R.eventType();
78 CurrentRecord.Data = std::string(R.data());
79 BuildingRecord =
true;
85 CurrentRecord.CallArgs.push_back(R.arg());
97 IgnoringRecords =
false;
105 IgnoringRecords =
true;
106 resetCurrentRecord();
111 resetCurrentRecord();
112 if (!IgnoringRecords) {
113 BaseTSC += R.delta();
114 CurrentRecord.Type = R.recordType();
115 CurrentRecord.FuncId = R.functionId();
116 CurrentRecord.TSC = BaseTSC;
117 CurrentRecord.PId = PID;
118 CurrentRecord.TId = TID;
119 CurrentRecord.CPU = CPUId;
120 BuildingRecord =
true;
126 resetCurrentRecord();
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
Error visit(BufferExtents &) override
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.