Synchronize libstdc++ PSTL with upstream LLVM PSTL
authorThomas Rodgers <trodgers@redhat.com>
Fri, 7 Jun 2019 22:01:16 +0000 (22:01 +0000)
committerThomas Rodgers <rodgertq@gcc.gnu.org>
Fri, 7 Jun 2019 22:01:16 +0000 (22:01 +0000)
commitf32ee8a25ee82ae4139eaf6357366683352c7068
tree7cb05be0f8a1b8ecf05cca79375405dabc293766
parent1afab7a878555956f4842dcbed19bfe3c1c28a6e
Synchronize libstdc++ PSTL with upstream LLVM PSTL

Rename PSTL macro's consistent with libstdc++ (and llvm upstream
project) standards.
* include/bits/c++config: Rename all macros of the form __PSTL* to
_PSTL*.
* include/std/algorithm: Likewise.
* include/std/execution: Likewise.
* include/std/numeric: Likewise.
* include/std/memory: Likewise.
* include/pstl/glue_memory_impl.h: Likewise.
* include/pstl/numeric_impl.h: Likewise.
* include/pstl/glue_memory_defs.h: Likewise.
* include/pstl/execution_defs.h: Likewise.
* include/pstl/utils.h: Likewise.
* include/pstl/algorithm_fwd.h: Likewise.
* include/pstl/unseq_backend_simd.h: Likewise.
* include/pstl/glue_execution_defs.h: Likewise.
* include/pstl/algorithm_impl.h: Likewise.
* include/pstl/parallel_impl.h: Likewise.
* include/pstl/memory_impl.h: Likewise.
* include/pstl/glue_numeric_defs.h: Likewise.
* include/pstl/parallel_backend_utils.h: Likewise.
* include/pstl/glue_algorithm_defs.h: Likewise.
* include/pstl/parallel_backend.h: Likewise.
* include/pstl/glue_numeric_impl.h: Likewise.
* include/pstl/parallel_backend_tbb.h: Likewise.
* include/pstl/numeric_fwd.h: Likewise.
* include/pstl/glue_algorithm_impl.h: Likewise.
* include/pstl/execution_impl.h: Likewise.
* include/pstl/pstl_config.h: Likewise.
* testsuite/util/pstl/pstl_test_config.h: Likewise.
* testsuite/util/pstl/test_utils.h: Likewise.
* testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
Likewise.
* testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
Likewise.
* testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
Likewise.
* testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise.
* testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: Likewise.
* testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
Likewise.
* testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: Likewise.

Rename header guards to be consistent with upstream project's
conventions.
* include/pstl/glue_memory_impl.h: Rename all macros of the form
_PSTL_(.*)_H to _PSTL_\U\1_H.
* include/pstl/numeric_impl.h: Likewise.
* include/pstl/glue_memory_defs.h: Likewise.
* include/pstl/execution_defs.h: Likewise.
* include/pstl/utils.h: Likewise.
* include/pstl/algorithm_fwd.h: Likewise.
* include/pstl/unseq_backend_simd.h: Likewise.
* include/pstl/glue_execution_defs.h: Likewise.
* include/pstl/algorithm_impl.h: Likewise.
* include/pstl/parallel_impl.h: Likewise.
* include/pstl/memory_impl.h: Likewise.
* include/pstl/glue_numeric_defs.h: Likewise.
* include/pstl/parallel_backend_utils.h: Likewise.
* include/pstl/glue_algorithm_defs.h: Likewise.
* include/pstl/parallel_backend.h: Likewise.
* include/pstl/glue_numeric_impl.h: Likewise.
* include/pstl/parallel_backend_tbb.h: Likewise.
* include/pstl/numeric_fwd.h: Likewise.
* include/pstl/glue_algorithm_impl.h: Likewise.
* include/pstl/execution_impl.h: Likewise.
* include/pstl/pstl_config.h: Likewise.
* testsuite/util/pstl/pstl_test_config.h: Likewise.

Synchronize libstdc++ parallel algorithms with upstream
project.
* include/pstl/algorithm_fwd.h: Synchronize with
upstream PSTL project.
* include/pstl/algorithm_impl.h: Likewise.
* include/pstl/execution_defs.h: Likewise.
* include/pstl/execution_impl.h: Likewise.
* include/pstl/glue_algorithm_impl.h: Likewise.
* include/pstl/glue_execution_defs.h: Likewise.
* include/pstl/numeric_fwd.h: Likewise.
* include/pstl/numeric_impl.h: Likewise.
* include/pstl/parallel_backend.h: Likewise.
* include/pstl/pstl_config.h: Likewise.
* include/pstl/unseq_backend_simd.h: Likewise.
* include/pstl/parallel_backend_serial.h: New file.
* include/Makefile.am (pstl_headers): Add
parallel_backend_serial.h.
* include/Makefile.in: Regenerate.

Clean up non-conforming names
* include/pstl/algorithm_impl.h (__parallel_set_union_op):
Uglfiy copy_range1 and copy_range2
(__pattern_walk2_n): Rename local n to __n
* include/pstl/parallel_backend_tbb.h (struct __binary_no_op):
Rename parameter _T to _Tp.

Integrate non-TBB serial backend support
* include/bits/c++config: Adjust TBB detection logic to select serial
PSTL backend if no TBB present.
* testsuite/utils/pstl/test_utils.h: Remove check for
_PSTL_USE_PAR_POLICIES

From-SVN: r272056
68 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/pstl/algorithm_fwd.h
libstdc++-v3/include/pstl/algorithm_impl.h
libstdc++-v3/include/pstl/execution_defs.h
libstdc++-v3/include/pstl/execution_impl.h
libstdc++-v3/include/pstl/glue_algorithm_defs.h
libstdc++-v3/include/pstl/glue_algorithm_impl.h
libstdc++-v3/include/pstl/glue_execution_defs.h
libstdc++-v3/include/pstl/glue_memory_defs.h
libstdc++-v3/include/pstl/glue_memory_impl.h
libstdc++-v3/include/pstl/glue_numeric_defs.h
libstdc++-v3/include/pstl/glue_numeric_impl.h
libstdc++-v3/include/pstl/memory_impl.h
libstdc++-v3/include/pstl/numeric_fwd.h
libstdc++-v3/include/pstl/numeric_impl.h
libstdc++-v3/include/pstl/parallel_backend.h
libstdc++-v3/include/pstl/parallel_backend_serial.h [new file with mode: 0644]
libstdc++-v3/include/pstl/parallel_backend_tbb.h
libstdc++-v3/include/pstl/parallel_backend_utils.h
libstdc++-v3/include/pstl/parallel_impl.h
libstdc++-v3/include/pstl/pstl_config.h
libstdc++-v3/include/pstl/unseq_backend_simd.h
libstdc++-v3/include/pstl/utils.h
libstdc++-v3/include/std/algorithm
libstdc++-v3/include/std/execution
libstdc++-v3/include/std/memory
libstdc++-v3/include/std/numeric
libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc
libstdc++-v3/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_merge/merge.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc
libstdc++-v3/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc
libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc
libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/reduce.cc
libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/scan.cc
libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc
libstdc++-v3/testsuite/util/pstl/pstl_test_config.h
libstdc++-v3/testsuite/util/pstl/test_utils.h