[all-commits] [llvm/llvm-project] 59b18b: [flang] Avoid unnecessary temporaries in ArrayValu...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Mon Jan 23 12:34:01 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 59b18b5c91ec655189c73a123cb5204062601671
      https://github.com/llvm/llvm-project/commit/59b18b5c91ec655189c73a123cb5204062601671
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2023-01-23 (Mon, 23 Jan 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/test/Fir/array-copies-pointers.fir
    M flang/test/Fir/array-modify.fir
    M flang/test/Fir/array-value-copy-2.fir
    M flang/test/Fir/array-value-copy-3.fir
    M flang/test/Fir/array-value-copy-4.fir
    A flang/test/Fir/array-value-copy-cam4.fir

  Log Message:
  -----------
  [flang] Avoid unnecessary temporaries in ArrayValueCopy.

Assume no conflict between pointer arrays and arrays without the target
attribute, if the fact of an array not having the target attribute
can be reliably computed.

This change speeds up SPEC CPU2017/527.cam from 2.5k seconds to 880 seconds
on Icelake, and makes further performance investigation easier.

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




More information about the All-commits mailing list