summaryrefslogtreecommitdiff
path: root/pstl
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Nico Weber2023-05-171-1/+1
| | | | | | | | | | | | | | This reverts commit 65429b9af6a2c99d340ab2dcddd41dab201f399c. Broke several projects, see https://reviews.llvm.org/D144509#4347562 onwards. Also reverts follow-up commit "[OpenMP] Compile assembly files as ASM, not C" This reverts commit 4072c8aee4c89c4457f4f30d01dc9bb4dfa52559. Also reverts fix attempt "[cmake] Set CMP0091 to fix Windows builds after the cmake_minimum_required bump" This reverts commit 7d47dac5f828efd1d378ba44a97559114f00fb64.
* Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever2023-05-131-1/+1
| | | | | | The owner of the last two failing buildbots updated CMake. This reverts commit e8e8707b4aa6e4cc04c0cffb2de01d2de71165fc.
* Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever2023-05-061-1/+1
| | | | | | Unfortunatly not all buildbots are updated. This reverts commit ffb807ab5375b3f78df198dc5d4302b3b552242f.
* Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever2023-05-061-1/+1
| | | | | | All build bots should be updated now. This reverts commit 44d38022ab29a3156349602733b3459df5beef93.
* [libc++][PSTL][NFC] Fix the naming in the SIMD backendNikolas Klauser2023-05-041-11/+11
| | | | | | | | Reviewed By: ldionne, #libc Spies: sstefan1, jplehr, libcxx-commits, miyuki Differential Revision: https://reviews.llvm.org/D149787
* Revert "Revert "Revert "[CMake] Bumps minimum version to 3.20.0."""Mark de Wever2023-04-151-1/+1
| | | | | | This reverts commit 1ef4c3c859728008cf707cad8d67f45ae5070ae1. Two buildbots still haven't been updated.
* Revert "Revert "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever2023-04-151-1/+1
| | | | | | This reverts commit 92523a35a827539db8557bbc3ecab7f9ea3f6ade. Reland to see whether CIs are updated.
* Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever2023-03-181-1/+1
| | | | | | This reverts commit a72165e5df59032cdd54dcb18155f2630d73abd1. Some buildbots have not been updated yet.
* Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever2023-03-181-1/+1
| | | | | | This reverts commit 92523a35a827539db8557bbc3ecab7f9ea3f6ade. Test whether all CI runners are updated.
* Revert "[CMake] Bumps minimum version to 3.20.0."Mark de Wever2023-03-041-1/+1
| | | | | | | Some build bots have not been updated to the new minimal CMake version. Reverting for now and ping the buildbot owners. This reverts commit 44c6b905f8527635e49bb3ea97dea315f92d38ec.
* [CMake] Bumps minimum version to 3.20.0.Mark de Wever2023-03-041-1/+1
| | | | | | | | | | | | | | This partly undoes D137724. This change has been discussed on discourse https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-cmake-version/66193 Note this does not remove work-arounds for older CMake versions, that will be done in followup patches. Reviewed By: mehdi_amini, MaskRay, ChuanqiXu, to268, thieta, tschuett, phosek, #libunwind, #libc_vendors, #libc, #libc_abi, sivachandra, philnik, zibi Differential Revision: https://reviews.llvm.org/D144509
* Bump the trunk major version to 17llvmorg-17-initTom Stellard2023-01-243-7/+7
|
* Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too"John Ericson2022-08-181-2/+2
| | | | | | | This reverts commit f7a33090a91015836497c75f173775392ab0304d. Unfortunately this causes a number of failures that didn't show up in my local build.
* [cmake] Use `CMAKE_INSTALL_LIBDIR` tooJohn Ericson2022-08-181-2/+2
| | | | | | | | | | | | | | | | | | We held off on this before as `LLVM_LIBDIR_SUFFIX` conflicted with it. Now we return this. `LLVM_LIBDIR_SUFFIX` is kept as a deprecated way to set `CMAKE_INSTALL_LIBDIR`. The other `*_LIBDIR_SUFFIX` are just removed entirely. I imagine this is too potentially-breaking to make LLVM 15. That's fine. I have a more minimal version of this in the disto (NixOS) patches for LLVM 15 (like previous versions). This more expansive version I will test harder after the release is cut. Reviewed By: sebastian-ne, ldionne, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D130586
* Bump the trunk major version to 16llvmorg-16-initTom Stellard2022-07-263-7/+7
|
* [libc++] Use _LIBCPP_ASSERT by default for _PSTL_ASSERTionsNikolas Klauser2022-05-201-1/+6
| | | | | | | | Reviewed By: ldionne, #libc Spies: jwakely, rodgert, libcxx-commits Differential Revision: https://reviews.llvm.org/D125634
* Bump the trunk major version to 15llvmorg-15-initTom Stellard2022-02-013-7/+7
|
* [libc++][pstl][NFC] Remove usage of std::result_of from Parallel STLRuslan Arutyunyan2022-01-311-2/+2
| | | | | | | | | | | | | | | | 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
* [libc++][pstl] Implement tag dispatching mechanism for Parallel STLRuslan Arutyunyan2022-01-2823-2349/+2246
| | | | | | | | | | 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
* [cmake] Make include(GNUInstallDirs) always below project(..)John Ericson2022-01-201-2/+3
| | | | | | | | | | | Its defaulting logic must go after `project(..)` to work correctly, but `project(..)` is often in a standalone condition making this awkward, since the rest of the condition code may also need GNUInstallDirs. The good thing is there are the various standalone booleans, which I had missed before. This makes splitting the conditional blocks less awkward. Reviewed By: arichardson, phosek, beanz, ldionne, #libunwind, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D117639
* [pstl][cmake] Use `GNUInstallDirs` to support custom installation dirsJohn Ericson2022-01-171-2/+4
| | | | | | | | | I am breaking apart D99484 so the cause of build failures is easier to understand. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D117418
* Revert "[cmake] Use `GNUInstallDirs` to support custom installation dirs."John Ericson2022-01-161-4/+2
| | | | | | | | https://lab.llvm.org/buildbot/#/builders/46/builds/21146 Still have this odd error, not sure how to reproduce, so I will just try breaking up my patch. This reverts commit 4a678f8072004eff9214c1a4e1836a14abb69535.
* [cmake] Use `GNUInstallDirs` to support custom installation dirs.John Ericson2022-01-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This is the original patch in my GNUInstallDirs series, now last to merge as the final piece! It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested. - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself. I figured it was time to make a new revision. I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful. --- As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`. These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder. Reviewed By: #libunwind, #libc, #libc_abi, compnerd Differential Revision: https://reviews.llvm.org/D99484
* Revert "[cmake] Use `GNUInstallDirs` to support custom installation dirs."John Ericson2022-01-151-4/+2
| | | | | | Sorry for the disruption, I will try again later. This reverts commit efeb50197091b2ade24c00b9d55814bc433a7fd1.
* [cmake] Use `GNUInstallDirs` to support custom installation dirs.John Ericson2022-01-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This is the original patch in my GNUInstallDirs series, now last to merge as the final piece! It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested. - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself. I figured it was time to make a new revision. I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful. --- As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`. These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder. Reviewed By: #libunwind, #libc, #libc_abi, compnerd Differential Revision: https://reviews.llvm.org/D99484
* [pstl] Fix incorrect usage of std::invoke_resultRuslan Arutyunyan2021-11-261-4/+4
| | | | | | | | | | | | | | 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
* [pstl] A hot fix for a reduction parallel pattern of OpenMP backendMikhail Dvorskiy2021-10-271-0/+5
| | | | | | Reviewed By: nadiasvertex, ldionne Differential Revision: https://reviews.llvm.org/D112125
* [pstl] A hot compilation fix for MacOS, OpenMP backend; + full qualified ↵Mikhail Dvorskiy2021-10-275-19/+25
| | | | | | | | names for some internal functions Reviewed By: nadiasvertex, ldionne Differential Revision: https://reviews.llvm.org/D112528
* [pstl] Initial implementation of OpenMP backend, on behalf of Christopher ↵Mikhail Dvorskiy2021-10-1518-5/+1056
| | | | | | | | | 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.
* [libc++] Remove test-suite annotations for unsupported Clang versionsLouis Dionne2021-08-201-2/+0
| | | | Differential Revision: https://reviews.llvm.org/D108471
* Bump the trunk major version to 14llvmorg-14-initTom Stellard2021-07-273-7/+7
| | | | and clear the release notes.
* [pstl] Workaround more errors in the test suiteLouis Dionne2021-05-263-6/+3
|
* [pstl] Fix -Wundef errors in the test suiteLouis Dionne2021-05-2643-126/+148
|
* [pstl] Use logical operator for loop condition in testszoecarver2021-05-132-2/+2
| | | | | | | | | | Fix a probable typo in two PSTL tests that causes warnings with GCC. Patch by Jonathan Wakely (jwakely). Reviewed By: zoecarver Differential Revision: https://reviews.llvm.org/D102327
* Rename top-level LICENSE.txt files to LICENSE.TXTLeonard Chan2021-03-101-0/+0
| | | | | | This makes all the license filenames uniform across subprojects. Differential Revision: https://reviews.llvm.org/D98380
* [pstl] A hot fix forMikhail Dvorskiy2021-03-041-1/+1
| | | | | | | | | | 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
* [pstl] Fix broken policy_traits and clean up unused codeLouis Dionne2021-03-031-82/+21
| | | | | | | https://llvm.org/PR47602 https://llvm.org/PR47601 Differential Revision: https://reviews.llvm.org/D97808
* [pstl] Iterator types renaming: ForwardIterator -> RandomAccessIterator; for ↵Mikhail Dvorskiy2021-02-135-677/+719
| | | | | | parallel patterns/bricks https://reviews.llvm.org/D96266
* Bump the trunk major version to 13llvmorg-13-initTom Stellard2021-01-263-7/+7
| | | | and clear the release notes.
* [pstl] Replace direct use of assert() with _PSTL_ASSERTThomas Rodgers2020-11-026-36/+38
| | | | | | | Standard libraries may (libstdc++ in particular) forbid direct use of assert()/<cassert> in library code. Differential Revision: https://reviews.llvm.org/D60249
* [pstl] Support Threading Building Blocks 2020 (oneTBB) for "tbb" parallel ↵Dvorskiy, Mikhail2020-09-141-79/+369
| | | | | | | | | | | | 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
* [libc++][pstl] Remove c++98 from UNSUPPORTED annotationsLouis Dionne2020-07-2960-64/+64
| | | | c++98 isn't used by the test suite anymore, only c++03 is.
* [CMake] Bump CMake minimum version to 3.13.4Louis Dionne2020-07-221-1/+1
| | | | | | | | | | | This upgrade should be friction-less because we've already been ensuring that CMake >= 3.13.4 is used. This is part of the effort discussed on llvm-dev here: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140578.html Differential Revision: https://reviews.llvm.org/D78648
* Bump the trunk major version to 12llvmorg-12-initHans Wennborg2020-07-153-7/+7
| | | | and clear the release notes.
* [pstl] Do not install the __config_site.in fileLouis Dionne2020-07-081-1/+2
| | | | | The generated version of the file is already installed -- we shouldn't install the pre-generation version of the file.
* [pstl] Fix a few errors when running PSTL tests through the libc++ test suiteLouis Dionne2020-07-083-23/+14
|
* [pstl] A fix for move placement-new (and destroy) allocated objects from raw ↵Dvorskiy, Mikhail2020-05-1810-53/+507
| | | | | | | | | | | | 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.
* [pstl] Added missing double-underscore prefixes to some typesIsmail Pazarbasi2020-04-151-7/+7
| | | | | | | | | | | | | | | | | | 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
* [pstl] A hot fix for exclusive_scan (+ lost enable_if in declaration)Mikhail Dvorskiy2020-03-173-6/+52
| | | | | | | 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
* [pstl] Clean up parameter uglificationsThomas Rodgers2020-03-091-6/+6
| | | | | | Summary: These were overlooked on an earlier uglification pass. Differential Revision: https://reviews.llvm.org/D60595