[flang-commits] [PATCH] D151247: [flang][hlfir] Generate temporary storage in Forall/Where [1/2]

Jean Perier via Phabricator via flang-commits flang-commits at lists.llvm.org
Wed May 24 08:25:57 PDT 2023


jeanPerier updated this revision to Diff 525192.
jeanPerier added a comment.

Handle saving of where and elsewhere mask correctly:

1. Elsewhere mask that are saved should be evaluated using the "pending control mask" (inside the else region of the fir.if for the previous where/elsewhere mask).
2. When entering Where/Elsewhere, the saved value for the mask must be used if the mask was saved. The previous code bypassed that.

Add related regression tests.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D151247/new/

https://reviews.llvm.org/D151247

Files:
  flang/include/flang/Optimizer/Builder/TemporaryStorage.h
  flang/lib/Optimizer/Builder/TemporaryStorage.cpp
  flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
  flang/test/HLFIR/order_assignments/impure-where.fir
  flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
  flang/test/HLFIR/ordered-assignments-codegen-todo.fir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151247.525192.patch
Type: text/x-patch
Size: 55796 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20230524/8200e79a/attachment-0001.bin>


More information about the flang-commits mailing list