[all-commits] [llvm/llvm-project] 923113: [flang][hlfir] user defined assignment codegen

jeanPerier via All-commits all-commits at lists.llvm.org
Mon Jun 26 04:25:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9231134708a40f25b3e43085f432470ded081cba
      https://github.com/llvm/llvm-project/commit/9231134708a40f25b3e43085f432470ded081cba
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2023-06-26 (Mon, 26 Jun 2023)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
    A flang/test/HLFIR/order_assignments/user-defined-assignment.fir

  Log Message:
  -----------
  [flang][hlfir] user defined assignment codegen

Add codegen support for hlfir.region_assign with user defined
assignment.

It is currently a bit pessimistic, because outside of forall, it
does not use the PURE aspect, if any, of the assignment routine to
rule out that the routine can write to something else than the LHS that
could overlap with the RHS.
However, the current lowering is anyway adding parenthesis around the
RHS, so this should not cause performance regressions.

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




More information about the All-commits mailing list