Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
e9ec1617 |
| 05-Apr-2022 |
Jonas Devlieghere <jonas@devlieghere.com> |
Change the LLVM signpost category
Currently, the LLVM/LLDB timers are visible in Instruments for all apps.
The developer-visible "PointsOfInterest" category is reserved for runtime issues and devel
Change the LLVM signpost category
Currently, the LLVM/LLDB timers are visible in Instruments for all apps.
The developer-visible "PointsOfInterest" category is reserved for runtime issues and developer-authored "important" logging. These logs are visible to developer almost always in Instruments
The LLVM/LLDB timers do not belong there. Having these present in the system is noisy and confusing to developers. This patch moves them under a new "toolchain" category.
rdar://91266582
Differential revision: https://reviews.llvm.org/D123149
show more ...
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1 |
|
#
aedea002 |
| 02-Feb-2022 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
Signposts.h - move unnecessary StringRef include down to Signposts.cpp
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
#
75e164f6 |
| 20-Jan-2022 |
serge-sans-paille <sguelton@redhat.com> |
[llvm] Cleanup header dependencies in ADT and Support
The cleanup was manual, but assisted by "include-what-you-use". It consists in
1. Removing unused forward declaration. No impact expected. 2. R
[llvm] Cleanup header dependencies in ADT and Support
The cleanup was manual, but assisted by "include-what-you-use". It consists in
1. Removing unused forward declaration. No impact expected. 2. Removing unused headers in .cpp files. No impact expected. 3. Removing unused headers in .h files. This removes implicit dependencies and is generally considered a good thing, but this may break downstream builds. I've updated llvm, clang, lld, lldb and mlir deps, and included a list of the modification in the second part of the commit. 4. Replacing header inclusion by forward declaration. This has the same impact as 3.
Notable changes:
- llvm/Support/TargetParser.h no longer includes llvm/Support/AArch64TargetParser.h nor llvm/Support/ARMTargetParser.h - llvm/Support/TypeSize.h no longer includes llvm/Support/WithColor.h - llvm/Support/YAMLTraits.h no longer includes llvm/Support/Regex.h - llvm/ADT/SmallVector.h no longer includes llvm/Support/MemAlloc.h nor llvm/Support/ErrorHandling.h
You may need to add some of these headers in your compilation units, if needs be.
As an hint to the impact of the cleanup, running
clang++ -E -Iinclude -I../llvm/include ../llvm/lib/Support/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l
before: 8000919 lines after: 7917500 lines
Reduced dependencies also helps incremental rebuilds and is more ccache friendly, something not shown by the above metric :-)
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
show more ...
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
#
070315d0 |
| 11-Oct-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
Revert "Allow signposts to take advantage of deferred string substitution"
This reverts commits f9aba9a5afe09788eceb9879aa5c3ad345e0f1e9 and 035217ff515b8ecdc871e39fa840f3cba1b9cec7.
As explained i
Revert "Allow signposts to take advantage of deferred string substitution"
This reverts commits f9aba9a5afe09788eceb9879aa5c3ad345e0f1e9 and 035217ff515b8ecdc871e39fa840f3cba1b9cec7.
As explained in the original commit message, this didn't have the intended effect of improving the common LLDB use case, but still provided a marginal improvement for the places where LLDB creates a scoped time with a string literal.
The reason for the revert is that this change pulls in the os/signpost.h header in Signposts.h. The former transitively includes loader.h, which contains a series of macro defines that conflict with MachO.h. There are ways to work around that, but Adrian and I concluded that none of them are worth the trade-off in complicating Signposts.h even further.
show more ...
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2 |
|
#
c874dd53 |
| 05-Aug-2021 |
Christopher Di Bella <cjdb@google.com> |
[llvm][clang][NFC] updates inline licence info
Some files still contained the old University of Illinois Open Source Licence header. This patch replaces that with the Apache 2 with LLVM Exception li
[llvm][clang][NFC] updates inline licence info
Some files still contained the old University of Illinois Open Source Licence header. This patch replaces that with the Apache 2 with LLVM Exception licence.
Differential Revision: https://reviews.llvm.org/D107528
show more ...
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3 |
|
#
f9aba9a5 |
| 16-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
Move the definition of LLVM_SUPPORT_XCODE_SIGNPOSTS into llvm-config.h
since it is now used by a public header file (Signposts.h). This fixes the standalone LLDB build.
|
Revision tags: llvmorg-12.0.1-rc2 |
|
#
035217ff |
| 11-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
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. LLV
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
show more ...
|
#
7a7c0076 |
| 14-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
Revert "Allow signposts to take advantage of deferred string substitution"
This reverts commit 03841edde7eee21d1d450041ab9a113a7e1be869.
Unfortunately this still breaks the LLDB standalone bot.
|
#
03841edd |
| 11-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
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. LLV
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 additional MachO.h macro #undefs.
Differential Revision: https://reviews.llvm.org/D103575
show more ...
|
#
b4583a5a |
| 12-Jun-2021 |
Florian Hahn <flo@fhahn.com> |
Revert "Allow signposts to take advantage of deferred string substitution"
This reverts commit 4fc93a3a1f95ef5a0a57750fc621f2411ea445a8 because it breaks LLDB builds on certain macOS platform & SDK
Revert "Allow signposts to take advantage of deferred string substitution"
This reverts commit 4fc93a3a1f95ef5a0a57750fc621f2411ea445a8 because it breaks LLDB builds on certain macOS platform & SDK combinations, e.g. http://green.lab.llvm.org/green/job/lldb-cmake-standalone/3288/consoleFull#-195476041949ba4694-19c4-4d7e-bec5-911270d8a58c
show more ...
|
#
4fc93a3a |
| 11-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
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. LLV
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
show more ...
|
#
b90f9bea |
| 11-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
Revert "Allow signposts to take advantage of deferred string substitution"
I forgot to make the LLDB macro conditional on Linux.
This reverts commit 541ccd1c1bb23e1e20a382844b35312c0caffd79.
|
#
541ccd1c |
| 11-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
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. LLV
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.
Differential Revision: https://reviews.llvm.org/D103575
show more ...
|
#
a8099b47 |
| 03-Jun-2021 |
Adrian Prantl <aprantl@apple.com> |
Remove redundant Begin/End form signpost format strings.
The os_signpost API already captures the begin/end part and in Instruments, this just adds visual noise that gets in the way of the interesti
Remove redundant Begin/End form signpost format strings.
The os_signpost API already captures the begin/end part and in Instruments, this just adds visual noise that gets in the way of the interesting data. By removing the redundant end text, the display in Instruments gets even less cluttered.
rdar://78636200
Differential Revision: https://reviews.llvm.org/D103577
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
6dc43251 |
| 09-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC, 3rd attempt
This reverts commit e35afbe535f96086141f57a5ce7d679429b4405f, reapplying 022ccedde8877e877b45e49641544b5e4fff0b42 and e7ed5c9
Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC, 3rd attempt
This reverts commit e35afbe535f96086141f57a5ce7d679429b4405f, reapplying 022ccedde8877e877b45e49641544b5e4fff0b42 and e7ed5c920db3f537a85d962c1c918a1bb6de99fd.
- The first attempt missed defining `SignpostEmitterImpl`. - The second attempt missed defining `llvm::SignpostEmitterImpl`.
Not sure how I failed to test both versions locally before; I thought I'd turned the feature off via rerunning `cmake` but it must have been stuck in place. This time I confirmed via `clang -E` that I was testing both build configurations.
Original commit message:
Replace some manual memory management with std::unique_ptr.
Differential Revision: https://reviews.llvm.org/D100151
show more ...
|
#
e35afbe5 |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Revert "Revert "Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC"""
This reverts commit e7ed5c920db3f537a85d962c1c918a1bb6de99fd again, due to more buildbot failures: https://lab.
Revert "Revert "Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC"""
This reverts commit e7ed5c920db3f537a85d962c1c918a1bb6de99fd again, due to more buildbot failures: https://lab.llvm.org/buildbot/#/builders/131/builds/8191
show more ...
|
#
e7ed5c92 |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Revert "Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC""
This reverts commit 078072285d3fbdaa94f9a91140eb5c1223b548af, reapplying 022ccedde8877e877b45e49641544b5e4fff0b42.
I fi
Revert "Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC""
This reverts commit 078072285d3fbdaa94f9a91140eb5c1223b548af, reapplying 022ccedde8877e877b45e49641544b5e4fff0b42.
I figured out why this was failing in other environments: it's not a problem with std::unique_ptr, but that SignpostEmitterImpl only has a forward declaration. Adding an empty definition should do the trick.
Original commit message:
Replace some manual memory management with std::unique_ptr.
Differential Revision: https://reviews.llvm.org/D100151
show more ...
|
#
07807228 |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC"
This reverts commit 022ccedde8877e877b45e49641544b5e4fff0b42. Looks like some hosts need a definition of SignpostEmitterImpl to p
Revert "Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC"
This reverts commit 022ccedde8877e877b45e49641544b5e4fff0b42. Looks like some hosts need a definition of SignpostEmitterImpl to put it in a unique_ptr: https://lab.llvm.org/buildbot/#/builders/92/builds/7733
show more ...
|
#
9be43874 |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Support: Avoid unnecessary std::function for SignpostEmitterImpl::SignpostLog
The destructor for SignPostEmitterImpl::SignpostLog is known statically. Avoid the unnecessary vtable indirection throug
Support: Avoid unnecessary std::function for SignpostEmitterImpl::SignpostLog
The destructor for SignPostEmitterImpl::SignpostLog is known statically. Avoid the unnecessary vtable indirection through std::function in the std::unique_ptr by turning LogDeleter into a struct. No real functionality change here.
Differential Revision: https://reviews.llvm.org/D100154
show more ...
|
#
bf12b711 |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Support: Drop the no-op initializer for SignpostEmitterImpl::Signposts, NFC
This is a DenseMap, which has its own initializer; we don't need to explicitly call the default constructor here.
Differe
Support: Drop the no-op initializer for SignpostEmitterImpl::Signposts, NFC
This is a DenseMap, which has its own initializer; we don't need to explicitly call the default constructor here.
Differential Revision: https://reviews.llvm.org/D100152
show more ...
|
#
022ccedd |
| 08-Apr-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Support: Use std::unique_ptr for SignpostEmitter::Impl, NFC
Replace some manual memory management with std::unique_ptr.
Differential Revision: https://reviews.llvm.org/D100151
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
#
b03bb054 |
| 25-Feb-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
[llvm] Check availability for os_signpost
Add availability checks to the os_signpost code so this can be used with an older deployment target.
Differential revision: https://reviews.llvm.org/D97410
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
#
a4b42c62 |
| 19-Jan-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
[llvm] Protect signpost map with a mutex
Use a mutex to protect concurrent access to the signpost map. This fixes nondeterministic crashes in LLDB that appeared after using signposts in the timer im
[llvm] Protect signpost map with a mutex
Use a mutex to protect concurrent access to the signpost map. This fixes nondeterministic crashes in LLDB that appeared after using signposts in the timer implementation.
Differential revision: https://reviews.llvm.org/D94285
show more ...
|
Revision tags: llvmorg-11.1.0-rc1 |
|
#
b37de2af |
| 06-Jan-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
[Support] Untie the llvm::Signpost interface from llvm::Timer
Make llvm::Signpost more generic by untying from llvm::Timer. This allows signposts to be used in a different context.
My motivation fo
[Support] Untie the llvm::Signpost interface from llvm::Timer
Make llvm::Signpost more generic by untying from llvm::Timer. This allows signposts to be used in a different context.
My motivation for doing this is being able to use signposts in LLDB.
Differential revision: https://reviews.llvm.org/D93655
show more ...
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
0096d193 |
| 15-Aug-2019 |
Sven van Haastregt <sven.vanhaastregt@arm.com> |
[Support] Fix Wundef warning
llvm-svn: 368984
|