[all-commits] [llvm/llvm-project] f90aba: [OpenMP] Use compound operators for reduction comb...

Mike Rice via All-commits all-commits at lists.llvm.org
Tue May 11 11:42:15 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f90abac6caab3b44e6a000de8cb72d204e74eb76
      https://github.com/llvm/llvm-project/commit/f90abac6caab3b44e6a000de8cb72d204e74eb76
  Author: Mike Rice <michael.p.rice at intel.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
    M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/for_reduction_messages.cpp
    M clang/test/OpenMP/for_simd_reduction_messages.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_messages.cpp
    M clang/test/OpenMP/master_taskloop_reduction_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_reduction_messages.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_reduction_messages.cpp
    M clang/test/OpenMP/parallel_master_reduction_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_reduction_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_messages.cpp
    M clang/test/OpenMP/parallel_reduction_messages.cpp
    M clang/test/OpenMP/parallel_sections_reduction_messages.cpp
    A clang/test/OpenMP/reduction_compound_op.cpp
    M clang/test/OpenMP/sections_reduction_messages.cpp
    M clang/test/OpenMP/simd_reduction_messages.cpp
    M clang/test/OpenMP/target_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_reduction_messages.cpp
    M clang/test/OpenMP/target_parallel_reduction_messages.cpp
    M clang/test/OpenMP/target_reduction_messages.cpp
    M clang/test/OpenMP/target_simd_reduction_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/target_teams_reduction_messages.cpp
    M clang/test/OpenMP/task_in_reduction_message.cpp
    M clang/test/OpenMP/taskgroup_task_reduction_messages.cpp
    M clang/test/OpenMP/taskloop_in_reduction_messages.cpp
    M clang/test/OpenMP/taskloop_reduction_messages.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_messages.cpp
    M clang/test/OpenMP/taskloop_simd_reduction_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_messages.cpp
    M clang/test/OpenMP/teams_distribute_reduction_messages.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_messages.cpp
    M clang/test/OpenMP/teams_reduction_messages.cpp

  Log Message:
  -----------
  [OpenMP] Use compound operators for reduction combiner if available.

The OpenMP spec seems to require the compound operators be used for
+, *, &, |, and ^ reduction.  So use these if a class has those operators.
If not try the simple operators as we did previously to limit the impact
to existing code.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=48584

Differential Revision: https://reviews.llvm.org/D101941




More information about the All-commits mailing list