| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Reviewed By: ldionne, #libc
Spies: sstefan1, jplehr, libcxx-commits, miyuki
Differential Revision: https://reviews.llvm.org/D149787
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Reviewed By: ldionne, #libc
Spies: jwakely, rodgert, libcxx-commits
Differential Revision: https://reviews.llvm.org/D125634
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
std::result_of creates problems when building with C++20 because it's
deprecated there.
The solution is to remove it and get return value type for a function
with decltype.
Substitute std::invoke_result for std::result_of is unnecessary because
we don't have std::invoke semantics within the function - we don't work
with pointer-to-member's.
Reviewed by: ldionne, MikeDvorskiy, #libc
Differential Revision: https://reviews.llvm.org/D118457
|
|
|
|
|
|
|
|
|
|
| |
Implement the mechanism that simplifies the execution policy/iterator
category dispatching and allows to implement customizations for
the parallel algorithms with adding custom tags
Reviewed By: rodgert, MikeDvorskiy
Differential Revision: https://reviews.llvm.org/D104492
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
std::invoke_result takes function object type and arguments separately
(unlike std::result_of) so, std::invoke_result_t<F()> usage is
incorrect.
On the other hand, we don't need std::invoke() semantics here at all. So
just simplifying the code without extra dependency and use trailing
return type as the fix.
Reviewed By: MikeDvorskiy
Differential Revision: https://reviews.llvm.org/D114624
|
|
|
|
|
|
| |
Reviewed By: nadiasvertex, ldionne
Differential Revision: https://reviews.llvm.org/D112125
|
|
|
|
|
|
|
|
| |
names for some internal functions
Reviewed By: nadiasvertex, ldionne
Differential Revision: https://reviews.llvm.org/D112528
|
|
|
|
|
|
|
|
|
| |
Nelson nadiasvertex@gmail.com
Phabricator Review:
https://reviews.llvm.org/D99836
A couple of parallel patterns still remains serial - "Parallel partial sort", and "Parallel transform scan" - there are //TODOs in the code.
|
|
|
|
| |
and clear the release notes.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Commit 5856f202
by Mikhail Dvorskiy, 02/13/2021 08:28 PM
parent f515ca89
Iterator types renaming: ForwardIterator -> RandomAccessIterator; for parallel patterns/bricks
https://reviews.llvm.org/D96266
|
|
|
|
|
|
|
| |
https://llvm.org/PR47602
https://llvm.org/PR47601
Differential Revision: https://reviews.llvm.org/D97808
|
|
|
|
|
|
| |
parallel patterns/bricks
https://reviews.llvm.org/D96266
|
|
|
|
| |
and clear the release notes.
|
|
|
|
|
|
|
| |
Standard libraries may (libstdc++ in particular) forbid direct use of
assert()/<cassert> in library code.
Differential Revision: https://reviews.llvm.org/D60249
|
|
|
|
|
|
|
|
|
|
|
|
| |
backend.
After the changes the "tbb" parallel backend will work with old TBB versions(TBB_INTERFACE_VERSION <= 12000) and new ones (TBB 2020 and greater)
More about oneTBB:
https://github.com/oneapi-src/oneTBB
Phabricator Review:
https://reviews.llvm.org/D87380
|
|
|
|
| |
and clear the release notes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory.
https://reviews.llvm.org/D74123
The fix affects follow algorithms:
remove_if, unique, rotate, inplace_merge, partial_sort_copy, set_union, set_intersection, set_difference, set_symmetric_difference.
For "is_trivial" types there are no problems with "creating objects/clean-up"
For non-trivial types the algo results are also correct, but possible incorrect copying/moving "operator=" calls "by raw memory" within one of mentioned algo or incorrect destructor calls in the end of algo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some of the `move_` types were used with leading double-underscores, but
they were declared without `__` prefix.
This patch adds double-underscores to all `move_` types, and their uses.
Reviewers: MikeDvorskiy, ldionne, EricWF, rodgert, #libc
Reviewed By: MikeDvorskiy, ldionne, #libc
Subscribers: dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D78040
|
|
|
|
|
|
|
| |
It fixes an ambiguity issue in case of a user has a custom policy and
calls a version of exclusive_scan with binary operation.
Differential Revision: https://reviews.llvm.org/D62719
|
|
|
|
|
|
| |
Summary: These were overlooked on an earlier uglification pass.
Differential Revision: https://reviews.llvm.org/D60595
|
|
|
|
|
|
| |
When one of sub-ranges has not been move constructed into a raw buffer, we should not call clean up for that sub-range. Instead of store detailed info about raw buffer history, the fix does the cleanup a sub-range after each moving the sub-range back.
https://reviews.llvm.org/D73779
|
|
|
|
| |
and clear the release notes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like we do in libc++, PSTL needs the ability to constrain
ABI-unstable symbols to each translation unit. This is OFF by
default (like for libc++), because most people don't care about
this and there is a cost associated to enabling the option (code
bloat because templates are not deduped across TUs).
I'm using '#pragma clang attribute push' to avoid marking each
declaration with an attribute, which quickly becomes difficult
to maintain.
llvm-svn: 368684
|
|
|
|
|
|
| |
We really need to do that consistently when applying patches.
llvm-svn: 368312
|
|
|
|
| |
llvm-svn: 368302
|
|
|
|
|
|
|
|
| |
Instead of silently falling back to the serial backend, it's better if
we fail loudly when the parallel backend is left unspecified. Since we
have a __pstl_config_site header, a backend should always be specified.
llvm-svn: 368285
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a __pstl_config_site header that contains the value of
macros specified at CMake configuration time. It works similarly to
libc++'s __config_site header, except we always include it as a separate
file instead of concatenating it to the main configuration header.
It is necessary to thread the includes for that header into libc++'s
lit configuration, otherwise we'd be requiring an installation step
prior to running the test suite.
llvm-svn: 368284
|
|
|
|
|
|
|
|
|
|
|
| |
For the few (currently four) headers that make up the PSTL's interface
to other Standard Libraries, provide a stable uglified header file that
can be included by those Standard Libraries.
We can then more easily change the internal organization of the PSTL
without having to change the integration with Standard Libraries.
llvm-svn: 368088
|
|
|
|
| |
llvm-svn: 367928
|
|
|
|
|
|
|
|
|
| |
Previously the code used "using namespace __pstl;" at block
scope to introduce these names. This could cause conflicts with
names defined by the standard library. So we should fully qualify
them instead.
llvm-svn: 367468
|
|
|
|
| |
llvm-svn: 366492
|
|
|
|
|
|
| |
and clear the release notes.
llvm-svn: 366427
|
|
|
|
| |
llvm-svn: 366233
|
|
|
|
| |
llvm-svn: 366232
|
|
|
|
|
|
| |
Some types were not using the right namespace qualification.
llvm-svn: 366208
|
|
|
|
| |
llvm-svn: 365346
|
|
|
|
|
|
|
| |
Also, use a single point of customization to set what namespace __par_backend
"points to", which provides a better separation of concerns.
llvm-svn: 365337
|
|
|
|
| |
llvm-svn: 365218
|
|
|
|
| |
llvm-svn: 365158
|
|
|
|
|
|
|
| |
With the renaming that will happen, it's just a pain to maintain the
right names.
llvm-svn: 365156
|
|
|
|
| |
llvm-svn: 365152
|
|
|
|
| |
llvm-svn: 365150
|
|
|
|
|
|
|
|
|
| |
This is a stopgap measure to make it easier to integrate the PSTL into
libc++. In the future, we should have a system similar to what libc++
does, where we specify settings at configuration time and generate a
__config_site header that is part of the PSTL.
llvm-svn: 363958
|
|
|
|
|
|
|
|
| |
Mostly unused parameter, unused local typedefs and shadowed declarations.
This massaging it necessary if we want to be able to run the tests under
the libc++ lit configuration.
llvm-svn: 363872
|