[flang] Correct folding of SPREAD() for higher ranks
authorPeter Klausler <pklausler@nvidia.com>
Sat, 30 Apr 2022 15:32:50 +0000 (08:32 -0700)
committerPeter Klausler <pklausler@nvidia.com>
Mon, 9 May 2022 22:09:39 +0000 (15:09 -0700)
commit85fdbc1569f5c97daafd6a0daade54282806aa6a
tree4960329543a57ab90c7c175bc0073f3842dbda9f
parent9641b9be9dfc599cbb6a812c1e587eff2ddd8707
[flang] Correct folding of SPREAD() for higher ranks

The construction of the dimension order vector used to populate the
result array was incorrect, leading to a scrambled-looking result
for rank-3 and higher results.  Fix, and extend tests.

Differential Revision: https://reviews.llvm.org/D125113
flang/lib/Evaluate/fold-implementation.h
flang/test/Evaluate/fold-spread.f90