[all-commits] [llvm/llvm-project] 6c14e8: [flang][hlfir] Add codegen for vector subscripted LHS
jeanPerier via All-commits
all-commits at lists.llvm.org
Tue Jun 27 04:31:31 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6c14e849266e55a022d54ef4dcf09a1c93dcefda
https://github.com/llvm/llvm-project/commit/6c14e849266e55a022d54ef4dcf09a1c93dcefda
Author: Jean Perier <jperier at nvidia.com>
Date: 2023-06-27 (Tue, 27 Jun 2023)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
A flang/test/HLFIR/order_assignments/vector-subscripts-codegen.fir
Log Message:
-----------
[flang][hlfir] Add codegen for vector subscripted LHS
This patch adds support for vector subscripted assignment left-hand
side. It does not yet add support for the cases where the LHS must be
saved because its evaluation could be impacted by the assignment.
The implementation adds an hlfir::ElementalOpInterface to share the
elemental inlining utility and some other tools between
hlfir::ElementalOp and hlfir::ElelemntalAddrOp.
It adds generateYieldedLHS() to allow retrieving the LHS value
in lowering, whether or not it is vector subscripted. If it is vector
subscripted, this utility creates a loop nest iterating over the
elements and returns the address of an element.
Differential Revision: https://reviews.llvm.org/D153759
More information about the All-commits
mailing list