[all-commits] [llvm/llvm-project] 9f6aae: [flang] Add type-specific runtime entries for Minl...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Mon Oct 10 17:00:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f6aae46062e4f4e560cb3ae7a0110260a3c75da
      https://github.com/llvm/llvm-project/commit/9f6aae46062e4f4e560cb3ae7a0110260a3c75da
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2022-10-10 (Mon, 10 Oct 2022)

  Changed paths:
    M flang/include/flang/Runtime/reduction.h
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/runtime/extrema.cpp
    M flang/test/Lower/Intrinsics/maxloc.f90
    M flang/test/Lower/Intrinsics/minloc.f90
    M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Runtime/Reduction.cpp

  Log Message:
  -----------
  [flang] Add type-specific runtime entries for Minloc/Maxloc.

We used to have a big switch statement over the type categories and kinds
inside Minloc/Maxloc. After D133051 the switch grew bigger, and this
changed inlining decisions made by GCC (the build compiler). Some of the
simple methods stopped being inlined, and this caused slight performance
regression in Polyhedron/gas_dyn2. This change adds separate entries
for real/integer data types to let them be optimized separately.

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




More information about the All-commits mailing list