aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorSlava Zakharin <szakharin@nvidia.com>2025-04-30 13:53:26 -0700
committerGitHub <noreply@github.com>2025-04-30 13:53:26 -0700
commit7dad8b91bc94741034052a4eb06ef45e7cb47c06 (patch)
tree6e47d5c15e2f0cd726ef278ab9d561a03699cbcf /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent92b03e4f04405bfe55d707ed17a8b6ca89513018 (diff)
downloadllvm-7dad8b91bc94741034052a4eb06ef45e7cb47c06.zip
llvm-7dad8b91bc94741034052a4eb06ef45e7cb47c06.tar.gz
llvm-7dad8b91bc94741034052a4eb06ef45e7cb47c06.tar.bz2
[flang] Fetch the initial reduction value from the input array. (#136790)
Instead of using loop-carried IsFirst predicate, we can fetch the initial reduction values for MIN/MAX LOC/VAL reductions from the array itself. This results in a little bit cleaner loop nests, especially, generated for total reductions. Otherwise, LLVM is able to peel the first iteration of the innermost loop, but the surroudings of the peeled code are executed multiple times withing the outer loop(s). This patch does the manual peeling, which only works for non-masked reductions where the input array is not empty.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions