[all-commits] [llvm/llvm-project] e60dc8: [flang][hlfir] Expand hlfir.assign's with scalar RHS.
Slava Zakharin via All-commits
all-commits at lists.llvm.org
Thu Aug 31 08:48:39 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e60dc8ed7eec4287f0db85e52d45e27bd4c8bbde
https://github.com/llvm/llvm-project/commit/e60dc8ed7eec4287f0db85e52d45e27bd4c8bbde
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-08-31 (Thu, 31 Aug 2023)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/opt-scalar-assign.fir
Log Message:
-----------
[flang][hlfir] Expand hlfir.assign's with scalar RHS.
Expanding hlfir.assign's with scalar RHS late in MLIR optimization
pipeline allows LLVM to recognize most of them as simple memset loops.
This is especially important for small size LHS arrays, because
the assign loop nest may be completely unrolled enabling more value
propagation.
Reviewed By: tblah
Differential Revision: https://reviews.llvm.org/D159151
Commit: cdd5b1629abedd5e9d6ee280e592baa3c1dd1542
https://github.com/llvm/llvm-project/commit/cdd5b1629abedd5e9d6ee280e592baa3c1dd1542
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-08-31 (Thu, 31 Aug 2023)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-bufferization.fir
A flang/test/HLFIR/opt-variable-assign.fir
Log Message:
-----------
[flang][hlfir] Expand array hlfir.assign's.
Expand hlfir.assign with in-memory array RHS and LHS into
a loop nest with element-by-element assignments.
For small arrays this may result in further loop nest unrolling
enabling more value propagation and redundancy elimination.
Note the change in flang/test/HLFIR/opt-bufferization.fir:
the hlfir.assign inside hlfir.elemental gets expanded by the new
pattern.
Depends on D159151
Reviewed By: tblah
Differential Revision: https://reviews.llvm.org/D159246
Compare: https://github.com/llvm/llvm-project/compare/282da837565f...cdd5b1629abe
More information about the All-commits
mailing list