diff options
author | Adrian Prantl <aprantl@apple.com> | 2021-06-11 15:18:25 -0700 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2021-06-14 16:53:41 -0700 |
commit | 035217ff515b8ecdc871e39fa840f3cba1b9cec7 (patch) | |
tree | 8068a0d11bc07c31a96f4891b1b65278ac31f86a /llvm/lib/Support/Timer.cpp | |
parent | 1c096bf09ffd3d51665b60942d6bde19e7dbbd5a (diff) | |
download | llvm-035217ff515b8ecdc871e39fa840f3cba1b9cec7.zip llvm-035217ff515b8ecdc871e39fa840f3cba1b9cec7.tar.gz llvm-035217ff515b8ecdc871e39fa840f3cba1b9cec7.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 previously reverted patch with additional include
order fixes for non-modular builds of LLDB.
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() { |