/openbsd-current/gnu/llvm/compiler-rt/lib/xray/ |
H A D | xray_fdr_controller.h | 146 PreambleResult recordPreamble(uint64_t TSC, 149 // We update our internal tracking state for the Latest TSC and CPU we've 151 LatestTSC = TSC; 157 W.writeMetadata<MetadataRecord::RecordKinds::NewCPUId>(CPU, TSC); 163 if (UNLIKELY(LatestTSC > TSC || 164 TSC - LatestTSC > 166 // Either the TSC has wrapped around from the last TSC we've seen or the 169 LatestTSC = TSC; 174 W.writeMetadata<MetadataRecord::RecordKinds::TSCWrap>(TSC); [all...] |
H A D | xray_fdr_logging.cpp | 157 // metadata records for TSC wraparound and CPU migration). 411 uint64_t TSC = 0; member in struct:__xray::TSCAndCPU 416 // We want to get the TSC as early as possible, so that we can check whether 428 Result.TSC = __xray::readTSC(Result.CPU); 438 Result.TSC = TS.tv_sec * __xray::NanosecondsPerSecond + TS.tv_nsec; 497 auto &TSC = TC.TSC; variable 510 TLD.Controller->functionEnter(FuncId, TSC, CPU); 513 TLD.Controller->functionExit(FuncId, TSC, CPU); 516 TLD.Controller->functionTailExit(FuncId, TSC, CP 527 auto &TSC = TC.TSC; variable 557 auto &TSC = TC.TSC; variable 587 auto &TSC = TC.TSC; variable [all...] |
H A D | xray_basic_logging.cpp | 45 // We use elements of this type to record the entry TSC of every function ID we 52 uint64_t TSC; variable 173 uint64_t TSC = ReadTSC(CPU); variable 182 // When we encounter an entry event, we keep track of the TSC and the CPU, 188 E.TSC = TSC; 217 StackTop.TSC < TSC) { 218 auto Delta = TSC - StackTop.TSC; [all...] |
H A D | xray_function_call_trie.h | 115 uint64_t CumulativeLocalTime; // Typically in TSC deltas, not wall-time. 358 void enterFunction(const int32_t FId, uint64_t TSC, 380 if (ShadowStack.AppendEmplace(TSC, NewRoot, CPU) == nullptr) { 400 if (ShadowStack.AppendEmplace(TSC, Callee->NodePtr, CPU) == nullptr) 412 if (ShadowStack.AppendEmplace(TSC, NewNode, CPU) == nullptr) 417 void exitFunction(int32_t FId, uint64_t TSC, 437 // We may encounter overflow on the TSC we're provided, which may end up 438 // being less than the TSC when we first entered the function. 441 // we've overflowed (TSC < Top.EntryTSC) and then account the difference 442 // between the entry TSC an [all...] |
H A D | xray_profiling.cpp | 274 auto TSC = readTSC(CPU); variable 298 FCT->enterFunction(FuncId, TSC, CPU); 302 FCT->exitFunction(FuncId, TSC, CPU);
|
/openbsd-current/gnu/llvm/compiler-rt/lib/xray/tests/unit/ |
H A D | fdr_controller_test.cpp | 83 uint64_t TSC = 2; local 85 ASSERT_TRUE(C->functionEnter(FId, TSC++, CPU)); 86 ASSERT_TRUE(C->functionExit(FId, TSC++, CPU)); 87 ASSERT_TRUE(C->functionEnterArg(FId, TSC++, CPU, 1)); 88 ASSERT_TRUE(C->functionTailExit(FId, TSC++, CPU)); 142 uint64_t TSC = 1; local 144 ASSERT_TRUE(C->functionEnter(1, TSC++, CPU)); 145 ASSERT_TRUE(C->functionEnter(2, TSC++, CPU)); 146 ASSERT_TRUE(C->functionExit(2, TSC++, CPU)); 147 ASSERT_TRUE(C->functionExit(1, TSC 167 uint64_t TSC = 1; local 194 uint64_t TSC = 1; local 221 uint64_t TSC = 1; local 255 uint64_t TSC = 1; local 319 uint64_t TSC = 1; local 335 uint64_t TSC = 1; local 352 uint64_t TSC = 1; local 373 uint64_t TSC = 1; local 400 uint64_t TSC = 1; local [all...] |
H A D | test_helpers.h | 49 MATCHER_P(TSCIs, M, std::string("TSC is ") + ::testing::PrintToString(M)) { 50 return ::testing::Matcher<decltype(arg.TSC)>(M).MatchAndExplain( 51 arg.TSC, result_listener);
|
H A D | fdr_log_writer_test.cpp | 97 uint64_t TSC = 1; local 99 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Enter, 1, TSC++)); 101 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Exit, 1, TSC++)); 113 Writer.writeFunction(FDRLogWriter::FunctionRecordKind::Enter, 1, TSC++));
|
H A D | test_helpers.cpp | 47 << "; TSC = " << R.TSC << "; TId = " << R.TId << "; PId = " << R.PId
|
H A D | function_call_trie_test.cpp | 31 uint64_t TSC = 1; local 33 Trie.enterFunction(1, TSC++, CPU++); 34 Trie.exitFunction(1, TSC++, CPU++);
|
/openbsd-current/gnu/llvm/llvm/include/llvm/XRay/ |
H A D | XRayRecord.h | 35 /// Whether the CPU that produced the timestamp counters (TSC) move at a 39 /// Whether the CPU that produced the timestamp counters (TSC) do not stop. 43 /// counter (TSC) values. Useful for estimating the amount of time that 85 /// Get the full 8 bytes of the TSC when we get the log record. 86 uint64_t TSC; member in struct:llvm::xray::XRayRecord
|
H A D | YAMLXRayRecord.h | 37 uint64_t TSC; member in struct:llvm::xray::YAMLXRayRecord 86 IO.mapRequired("tsc", Record.TSC);
|
H A D | FDRRecords.h | 160 uint64_t TSC = 0; member in class:llvm::xray::NewCPUIDRecord 171 CPUId(C), TSC(T) {} 175 uint64_t tsc() const { return TSC; } 208 uint64_t TSC = 0; member in class:llvm::xray::CustomEventRecord 221 Size(S), TSC(T), CPU(C), Data(std::move(D)) {} 224 uint64_t tsc() const { return TSC; }
|
/openbsd-current/gnu/llvm/llvm/lib/XRay/ |
H A D | FDRTraceExpander.cpp | 42 CurrentRecord.TSC = R.tsc(); 57 CurrentRecord.TSC = BaseTSC; 72 CurrentRecord.TSC = BaseTSC; 116 CurrentRecord.TSC = BaseTSC;
|
H A D | Trace.cpp | 126 Record.TSC = Reader.getU64(&OffsetPtr); 130 "Failed reading TSC field at offset %" PRId64 ".", OffsetPtr); 235 /// NewCPUId: 16 byte metadata record with CPUId and a 64 bit TSC reading. 238 /// TSCWrap: 16 byte metadata record with a full 64 bit TSC reading. 239 /// FunctionRecord: 8 byte record with FunctionId, entry/exit, and TSC delta. 261 /// CustomEventRecord and TypedEventRecord now use TSC delta encoding similar to 371 R.FuncId, R.TSC, R.TId, 471 return L.TSC < R.TSC;
|
/openbsd-current/gnu/llvm/lldb/source/Plugins/Trace/intel-pt/ |
H A D | DecodedThread.h | 63 using TSC = uint64_t; 66 /// the same TSC value. 68 TSC tsc; 85 /// The corresponding TSC value for this range. 86 TSC tsc; 186 /// that have the same TSC value. 192 /// The requested TSC range, or \a std::nullopt if not available. 234 /// If this a new TSC, an event will be created. 235 void NotifyTsc(TSC tsc); 294 /// `item index -> TSC`, wher [all...] |
H A D | DecodedThread.cpp | 61 // If this is the last TSC range, so we have to extrapolate. In this case, 62 // we assume that each instruction took one TSC, which is what an 68 // If the numbers of items in this range is less than the total TSC duration 69 // of this range, i.e. each instruction taking longer than 1 TSC, then we 72 // also assume that each instruction took 1 TSC. A proper way to improve 82 // In this case, each item took less than 1 TSC, so some parallelism was 118 void DecodedThread::NotifyTsc(TSC tsc) { 253 (sizeof(uint64_t) + sizeof(TSC)) * m_tscs.size() +
|
H A D | LibiptDecoder.cpp | 337 /// Any of this PSB's data occurring after this TSC will be excluded. 341 std::optional<DecodedThread::TSC> tsc_upper_bound) 375 std::optional<DecodedThread::TSC> tsc_upper_bound) { 391 // We emit a TSC before a sync event to more easily associate a timestamp to 392 // the sync event. If present, the current block's TSC would be the first 393 // TSC we'll see when processing events. 464 /// Process the TSC of a decoded PT event. Specifically, check if this TSC 465 /// is below the TSC upper bound for this PSB. If the TSC exceed [all...] |
/openbsd-current/gnu/llvm/clang/lib/Interpreter/ |
H A D | IncrementalExecutor.cpp | 31 IncrementalExecutor::IncrementalExecutor(llvm::orc::ThreadSafeContext &TSC, argument 34 : TSCtx(TSC) {
|
H A D | IncrementalExecutor.h | 46 IncrementalExecutor(llvm::orc::ThreadSafeContext &TSC, llvm::Error &Err,
|
/openbsd-current/gnu/llvm/compiler-rt/include/xray/ |
H A D | xray_records.h | 51 // The frequency by which TSC increases per-second. 91 // Get the full 8 bytes of the TSC when we get the log record. 92 uint64_t TSC = 0; variable
|
/openbsd-current/gnu/llvm/llvm/tools/llvm-xray/ |
H A D | xray-stacks.cpp | 373 // When we encounter a new function entry, we want to record the TSC for 380 R.TSC); 394 TS.emplace_back(N, R.TSC); 397 // instead, add it to the stack associated with the TSC. 398 TS.emplace_back(*I, R.TSC); 432 std::max(E.second, R.TSC) - std::min(E.second, R.TSC)); 436 std::max(Deepest.second, R.TSC) - std::min(Deepest.second, R.TSC)); 439 std::max(Deepest.second, R.TSC) [all...] |
H A D | xray-account.cpp | 161 setMinMax(PerThreadMinMaxTSC[Record.TId], Record.TSC); 162 setMinMax(PerCPUMinMaxTSC[Record.CPU], Record.TSC); 165 CurrentMaxTSC = Record.TSC; 167 if (Record.TSC < CurrentMaxTSC) 180 ThreadStack.Stack.emplace_back(Record.FuncId, Record.TSC); 194 recordLatency(Top.first, diff(Top.second, Record.TSC)); 245 recordLatency(E.first, diff(E.second, Record.TSC)); 492 Record.TSC, Record.TId, Record.PId)
|
H A D | xray-graph.cpp | 194 // If the record is an ENTER record it pushes the FuncID and TSC onto a 214 CurrentMaxTSC = Record.TSC; 216 if (Record.TSC < CurrentMaxTSC) 226 ThreadStack.push_back({Record.FuncId, Record.TSC}); 247 TimestampT D = diff(ThreadStack.back().TSC, Record.TSC); 258 uint64_t D = diff(ThreadStack.back().TSC, Record.TSC); 336 // Normalises the statistics in the graph for a given TSC frequency.
|
H A D | xray-converter.cpp | 97 R.TSC, R.TId, R.PId, R.CallArgs, R.Data}); 152 Writer.write(R.TSC); 291 // TSC / CyclesPerMicro == TSC * 10^6 / CycleHertz == MicroTimestamp 292 // Could lose some precision here by converting the TSC to a double to 297 double EventTimestampUs = double(1000000) / CycleFreq * double(R.TSC);
|