[flang][hlfir] Generate temporary storage in Forall/Where [1/2]
authorJean Perier <jperier@nvidia.com>
Thu, 25 May 2023 09:17:16 +0000 (11:17 +0200)
committerJean Perier <jperier@nvidia.com>
Thu, 25 May 2023 09:51:32 +0000 (11:51 +0200)
commitd7578116b89fcffe8db4b2512ceda8c6fbf1ea7f
tree35e2ed86a3fde89723f1fcd9071d1b2167fc33b2
parent116a31e3c39953d38cd3499dbb93a840e02d0c8f
[flang][hlfir] Generate temporary storage in Forall/Where [1/2]

Generate temporary storage inline inside WHERE and FORALL when possible.
A following patch will use the runtime to cover the generic cases.

Reviewed By: vzakhari

Differential Revision: https://reviews.llvm.org/D151247
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 [new file with mode: 0644]
flang/test/HLFIR/order_assignments/inlined-stack-temp.fir [new file with mode: 0644]
flang/test/HLFIR/ordered-assignments-codegen-todo.fir [deleted file]