[flang] Support multidimensional reductions in SimplifyIntrinsicsPass.
authorSlava Zakharin <szakharin@nvidia.com>
Tue, 13 Sep 2022 16:41:22 +0000 (09:41 -0700)
committerSlava Zakharin <szakharin@nvidia.com>
Mon, 19 Sep 2022 19:16:23 +0000 (12:16 -0700)
commit8bd76ac151534d2b9534ed919c0a7f4511002d84
treecdab231bfddbfae3de653b1b0c6a675a2b4ad440
parent2b138567e0cb126ce2bd726e9c4becb69aed0563
[flang] Support multidimensional reductions in SimplifyIntrinsicsPass.

Create simplified functions for each rank with "x<rank>" suffix
that implement multidimensional reductions. To enable this I had to fix
an issue with taking incorrect box shape in cases of sliced embox/rebox.

Differential Revision: https://reviews.llvm.org/D133820
flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
flang/test/Transforms/simplifyintrinsics.fir