diff options
author | Adrian Prantl <aprantl@apple.com> | 2021-06-11 15:18:25 -0700 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2021-06-11 16:52:34 -0700 |
commit | 4fc93a3a1f95ef5a0a57750fc621f2411ea445a8 (patch) | |
tree | 13afb269ce1e9c64f94407eea77c7e16183c1494 /llvm/lib/Support/Timer.cpp | |
parent | 464d3dc3d11eec105023011fd41abb1871f46d5d (diff) | |
download | llvm-4fc93a3a1f95ef5a0a57750fc621f2411ea445a8.zip llvm-4fc93a3a1f95ef5a0a57750fc621f2411ea445a8.tar.gz llvm-4fc93a3a1f95ef5a0a57750fc621f2411ea445a8.tar.bz2 |
Allow signposts to take advantage of deferred string substitution
One nice feature of the os_signpost API is that format string
substitutions happen in the consumer, not the logging
application. LLVM's current Signpost class doesn't take advantage of
this though and instead always uses a static "Begin/End %s" format
string.
This patch uses variadic macros to allow the API to be used as
intended. Unfortunately, the primary use-case I had in mind (the
LLDB_SCOPED_TIMER() macro) does not get much better from this, because
__PRETTY_FUNCTION__ is *not* a macro, but a static string, so
signposts created by LLDB_SCOPED_TIMER() still use a static "%s"
format string. At least LLDB_SCOPED_TIMERF() works as intended.
This reapplies the previsously reverted patch with support for
platforms where signposts are unavailable.
Differential Revision: https://reviews.llvm.org/D103575
Diffstat (limited to 'llvm/lib/Support/Timer.cpp')
-rw-r--r-- | llvm/lib/Support/Timer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Support/Timer.cpp b/llvm/lib/Support/Timer.cpp index 6e592db..8d421db 100644 --- a/llvm/lib/Support/Timer.cpp +++ b/llvm/lib/Support/Timer.cpp @@ -174,7 +174,7 @@ void Timer::stopTimer() { Running = false; Time += TimeRecord::getCurrentTime(false); Time -= StartTime; - Signposts->endInterval(this, getName()); + Signposts->endInterval(this); } void Timer::clear() { |