Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
45ef0d49 |
| 31-Jul-2024 |
David Blaikie <dblaikie@gmail.com> |
Add llvm::Error C API, LLVMCantFail
It's barely testable - the test does exercise the code, but wouldn't fail on an empty implementation. It would cause a memory leak though (because the error handl
Add llvm::Error C API, LLVMCantFail
It's barely testable - the test does exercise the code, but wouldn't fail on an empty implementation. It would cause a memory leak though (because the error handle wouldn't be unwrapped/reowned) which could be detected by asan and other leak detectors.
show more ...
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8 |
|
#
44df1167 |
| 14-Jun-2024 |
Nikita Popov <npopov@redhat.com> |
[Error] Add non-consuming toString (#95375)
There are some places that want to convert an Error to string, but still
retain the original Error object, for example to emit a non-fatal
warning.
T
[Error] Add non-consuming toString (#95375)
There are some places that want to convert an Error to string, but still
retain the original Error object, for example to emit a non-fatal
warning.
This currently isn't possible, because the entire Error infra is
move-based. And what people end up doing in this case is to move the
Error... twice.
This patch introduces a toStringWithoutConsuming() function to
accommodate this use case. This also requires some infrastructure that
allows visiting Errors without consuming them.
show more ...
|
Revision tags: llvmorg-18.1.7 |
|
#
9223ccb0 |
| 23-May-2024 |
Adrian Prantl <aprantl@apple.com> |
Avoid std::string -> (char *) roundtrip in createStringError() (NFC) (#93242)
The current API first creates a temporary std::string, then passes it as
a C string, only to then convert it into a std
Avoid std::string -> (char *) roundtrip in createStringError() (NFC) (#93242)
The current API first creates a temporary std::string, then passes it as
a C string, only to then convert it into a std::string for storage, thus
unnecessarily computing the length of the string and copying it.
show more ...
|
Revision tags: 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 |
|
#
3900860b |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D155178
show more ...
|
#
0a69707d |
| 13-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
Revert "[Support] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit 5be8c89ed6d959d57ae21c168dc4215ce0d05553.
|
#
5be8c89e |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D155018
show more ...
|
#
19551f00 |
| 09-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
Revert "[Support] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit 4c0cfd870f78c3f107b23a2bd61504c8ebc22912.
There are still transitive includes missing inside lldb tools.
|
#
4c0cfd87 |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D154775
show more ...
|
#
d2fb8f28 |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
Revert "[Support] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit 2e2743b6479c9d90c85a0bf68d83d45c7f9f472d.
More transitive includes of `llvm/ADT/StringExtras.h` need to
Revert "[Support] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit 2e2743b6479c9d90c85a0bf68d83d45c7f9f472d.
More transitive includes of `llvm/ADT/StringExtras.h` need to be removed.
show more ...
|
#
2e2743b6 |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D154763
show more ...
|
#
86fb14a9 |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
Revert "[Support] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit fc6b12689c5001aa050fc1d855209a5e319112b7.
|
#
fc6b1268 |
| 08-Jul-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "
[Support] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D154543
show more ...
|
#
b3c8554f |
| 25-Jun-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
Revert "[llvm] Move StringExtras.h include from Error.h to Error.cpp"
This reverts commit 2fa0dbd7bf353db98b27b56137cced0a67de2748.
|
#
2fa0dbd7 |
| 17-Jun-2023 |
Elliot Goodrich <elliotgoodrich@gmail.com> |
[llvm] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llv
[llvm] Move StringExtras.h include from Error.h to Error.cpp
Move the implementation of the `toString` function from `llvm/Support/Error.h` to the source file, which allows us to move `#include "llvm/ADT/StringExtras.h"` to the source file as well.
As `Error.h` is present in a large number of translation units this means we are unnecessarily bringing in the contents of `StringExtras.h` - itself a large file with lots of includes - and slowing down compilation.
Also move the `#include "llvm/ADT/SmallVector.h"` directive to the source file as it's no longer needed, but this does not give as much of a benefit.
This reduces the total number of preprocessing tokens across the LLVM source files in lib from (roughly) 1,920,413,050 to 1,903,629,230 - a reduction of ~0.87%. This should result in a small improvement in compilation time.
Differential Revision: https://reviews.llvm.org/D153229
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
163003d3 |
| 17-May-2023 |
Alex Bradbury <asb@igalia.com> |
[Support] Forward GenCrashDiag argument from report_fatal_error(Error, bool)
The boolean GenCrashDiag argument was previous just discarded, which seems to be an oversight that existed when this over
[Support] Forward GenCrashDiag argument from report_fatal_error(Error, bool)
The boolean GenCrashDiag argument was previous just discarded, which seems to be an oversight that existed when this overload was first added.
Differential Revision: https://reviews.llvm.org/D150669
show more ...
|
Revision tags: 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 |
|
#
ede60037 |
| 29-Jun-2022 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
ManagedStatic: remove many straightforward uses in llvm
(Reapply after revert in e9ce1a588030d8d4004f5d7e443afe46245e9a92 due to Fuchsia test failures. Removed changes in lib/ExecutionEngine/ other
ManagedStatic: remove many straightforward uses in llvm
(Reapply after revert in e9ce1a588030d8d4004f5d7e443afe46245e9a92 due to Fuchsia test failures. Removed changes in lib/ExecutionEngine/ other than error categories, to be checked in more detail and reapplied separately.)
Bulk remove many of the more trivial uses of ManagedStatic in the llvm directory, either by defining a new getter function or, in many cases, moving the static variable directly into the only function that uses it.
Differential Revision: https://reviews.llvm.org/D129120
show more ...
|
#
e9ce1a58 |
| 10-Jul-2022 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
Revert "ManagedStatic: remove many straightforward uses in llvm"
This reverts commit e6f1f062457c928c18a88c612f39d9e168f65a85.
Reverting due to a failure on the fuchsia-x86_64-linux buildbot.
|
#
e6f1f062 |
| 29-Jun-2022 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
ManagedStatic: remove many straightforward uses in llvm
Bulk remove many of the more trivial uses of ManagedStatic in the llvm directory, either by defining a new getter function or, in many cases,
ManagedStatic: remove many straightforward uses in llvm
Bulk remove many of the more trivial uses of ManagedStatic in the llvm directory, either by defining a new getter function or, in many cases, moving the static variable directly into the only function that uses it.
Differential Revision: https://reviews.llvm.org/D129120
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
#
79c54798 |
| 14-Sep-2021 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Support: Pass wrapped Error's error code through FileError
Change FileError to pass through the error code from the Error it wraps. This allows APIs that return ECError to transition to FileError wi
Support: Pass wrapped Error's error code through FileError
Change FileError to pass through the error code from the Error it wraps. This allows APIs that return ECError to transition to FileError without changing returned std::error_code.
This was extracted from https://reviews.llvm.org/D109345.
Differential Revision: https://reviews.llvm.org/D113225
show more ...
|
#
21661607 |
| 06-Oct-2021 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[llvm] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine)
As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of rep
[llvm] Replace report_fatal_error(std::string) uses with report_fatal_error(Twine)
As described on D111049, we're trying to remove the <string> dependency from error handling and replace uses of report_fatal_error(const std::string&) with the Twine() variant which can be forward declared.
show more ...
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, 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, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
#
19402ce7 |
| 16-Oct-2020 |
Lang Hames <lhames@gmail.com> |
[Support] Add a C-API function to create a StringError instance.
This will allow C API clients to return errors from callbacks. This functionality will be used in upcoming Orc C-bindings functions.
|
Revision tags: 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 |
|
#
8e896b19 |
| 21-Nov-2019 |
Lang Hames <lhames@gmail.com> |
[Error] Remove a broken code fragment accidentally included in 76bcbaafab2.
|
#
76bcbaaf |
| 21-Nov-2019 |
Lang Hames <lhames@gmail.com> |
[Orc][Modules] Fix Modules build fallout from a34680a33eb.
In a34680a33eb OrcError.h and Orc/RPC/*.h were split out from the rest of ExecutionEngine in order to eliminate false dependencies for remo
[Orc][Modules] Fix Modules build fallout from a34680a33eb.
In a34680a33eb OrcError.h and Orc/RPC/*.h were split out from the rest of ExecutionEngine in order to eliminate false dependencies for remote JIT targets (see https://reviews.llvm.org/D68732), however this broke modules builds (see https://reviews.llvm.org/D69817).
This patch splits these headers out into a separate module, LLVM_OrcSupport, in order to fix the modules build.
Fixes <rdar://56377508>.
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5 |
|
#
5fc4bee3 |
| 10-Sep-2019 |
Eric Christopher <echristo@gmail.com> |
Move LLVM_ENABLE_ABI_BREAKING_CHECKS variables to their own file so that you don't have to link Error.o and all of its dependencies.
In more detail: global initializers in Error.o can't be elided wi
Move LLVM_ENABLE_ABI_BREAKING_CHECKS variables to their own file so that you don't have to link Error.o and all of its dependencies.
In more detail: global initializers in Error.o can't be elided with -ffunction-sections/-gc-sections since they always need to be run causing a fairly significant binary bloat if all you want is the ABI breaking checks code.
Differential Revision: https://reviews.llvm.org/D67387
llvm-svn: 371561
show more ...
|
Revision tags: llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
0eaee545 |
| 15-Aug-2019 |
Jonas Devlieghere <jonas@devlieghere.com> |
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo.
llvm-svn: 369013
show more ...
|