[all-commits] [llvm/llvm-project] 0c455e: [flang][OpenMP] Use maxnum/minnum for lowering of ...

Jan Leyonberg via All-commits all-commits at lists.llvm.org
Fri Apr 19 12:51:18 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c455ee34823cb991a35e33ff020bb7cc4e44c8a
      https://github.com/llvm/llvm-project/commit/0c455ee34823cb991a35e33ff020bb7cc4e44c8a
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2024-04-19 (Fri, 19 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90

  Log Message:
  -----------
  [flang][OpenMP] Use maxnum/minnum for lowering of max/min reduction operators (#89258)

This patch changes the lowering of max and min to be lowered to
arith::MaxNumFop and arith::MinNumFOp instead of using arith::MaximumFOp
and arith::MinimumFOp. The arith::MaximumFOp and arith::MinimumFOp map
to the corresponding intrinsics llvm.maximum.* and llvm.minimum.*
intrinsics which conform to the semantics specified in the draft of IEEE
754-2019, which is not supported by all hardware. Instead using
arith::MaximumFOp and arith::MinimumFOp will allow code generation for
more targets and match the code generated by clang OpenMP.

fixes #87955



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list