Nikolas Klauser
37e5baf318
[libc++][PSTL] Implement std::sort
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits, mgrang
Differential Revision: https://reviews.llvm.org/D152860
2023-07-20 14:45:36 -07:00
Nikolas Klauser
2b2e7f6e57
[libc++][PSTL] Add a GCD backend
...
Reviewed By: ldionne, #libc
Spies: arichardson, mgrang, krytarowski, libcxx-commits, h-vetinari
Differential Revision: https://reviews.llvm.org/D151717
2023-07-12 13:27:33 -07:00
Nikolas Klauser
3a7876f6e2
[libc++][PSTL] Implement std::is_partitioned
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D152853
2023-06-15 11:23:07 -07:00
Nikolas Klauser
cd916108b4
[libc++][PSTL] Implement std::generate{,_n}
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D152581
2023-06-13 07:55:06 -07:00
Nikolas Klauser
51131edf83
[libc++][PSTL] Implement std::replace{,_if,_copy,_copy_if}
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D151841
2023-06-06 08:44:53 -07:00
Nikolas Klauser
7a3b528e1b
[libc++][PSTL] Implement std::count{,_if}
...
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D150128
2023-06-06 08:42:59 -07:00
Nikolas Klauser
d51a84b405
[libc++][PSTL] Implement std::stable_sort
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D151573
2023-06-01 15:07:28 -07:00
Nikolas Klauser
ee6ec2c5f1
[libc++][PSTL] Implement std::reduce and std::transform_reduce
...
Reviewed By: ldionne, #libc
Spies: libcxx-commits, miyuki
Differential Revision: https://reviews.llvm.org/D150736
2023-06-01 08:52:08 -07:00
Nikolas Klauser
bf63b15bd4
[libc++][PSTL] Implement std::merge
...
Reviewed By: ldionne, #libc
Spies: pcwang-thead, libcxx-commits
Differential Revision: https://reviews.llvm.org/D151375
2023-05-30 15:07:06 -07:00
Nikolas Klauser
b1cf54f12e
[libc++][PSTL] Add a test to make sure that customization points work properly
...
Reviewed By: #libc, ldionne
Spies: ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D151257
2023-05-26 10:53:08 -07:00
Nikolas Klauser
e837f4b7db
[libc++][PSTL] Add a simple std::thread backend
...
This is just to test that the PSTL works with parallelization. This is not supposed to be a production-ready backend.
Reviewed By: ldionne, #libc
Spies: EricWF, arichardson, libcxx-commits
Differential Revision: https://reviews.llvm.org/D150284
2023-05-24 15:33:58 -07:00
Nikolas Klauser
6851d078c5
[libc++][PSTL] Implement std::transform
...
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D149615
2023-05-15 09:57:20 -07:00
Nikolas Klauser
b97859b674
[libc++][PSTL] Move the already implemented functions to the new dispatching scheme
...
Reviewed By: ldionne, #libc
Spies: arichardson, pcwang-thead, libcxx-commits, miyuki
Differential Revision: https://reviews.llvm.org/D150277
2023-05-12 13:11:16 -07:00
Louis Dionne
8e2d09c339
[libc++][PSTL] Add more specialized backend customization points
...
This allows backends to customize arbitrary parallel algorithms, which was requested pretty often.
Reviewed By: #libc, ldionne
Spies: arichardson, miyuki, crtrott, dalg24, __simt__, philnik, libcxx-commits
Differential Revision: https://reviews.llvm.org/D149686
2023-05-11 13:54:28 -07:00