diff options
author | Murali Vijayaraghavan <muralivi@google.com> | 2022-11-05 03:50:40 +0000 |
---|---|---|
committer | Murali Vijayaraghavan <muralivi@google.com> | 2022-11-17 22:26:02 +0000 |
commit | dddf6ab27212d9813a360eb95440c61e81a308be (patch) | |
tree | b61da498213e2368c7ace78f3ce9c5010962e6cf /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 766536989baf9431ff535670d01c4c19d7351fad (diff) | |
download | llvm-dddf6ab27212d9813a360eb95440c61e81a308be.zip llvm-dddf6ab27212d9813a360eb95440c61e81a308be.tar.gz llvm-dddf6ab27212d9813a360eb95440c61e81a308be.tar.bz2 |
Simplifying the SplitReduction logic that uses the control to get the
dimension where the extra parallel dimension is inserted
Currently, the innerParallel and non innerParallel strategies use two
different ways to fix for where the extra loop is inserted and where the
extra dimension for the intermediate result is inserted - innerParallel
adds the extra (parallel) loop right after the pre-existing reduction
loop, whereas non innerParallel adds the reduction loop in the successor
to the index supplied by control, and the parallel loop in the index
supplied by the control. The semantics of the index supplied by the
control is supposed to only control where the extra tensor dimension is
inserted in the intermediate tensor. Conflating this index with where
the reduction (and parallel) loops are inserted leads to more complex
(and confusing) logic overall. This differential removes conflating the
two uses of the index, and keeps the reduction and parallel loops in the
same vicinity and uses the supplied index to only determine the position
of the extra tensor dimension. It also simplifies the code by merging
the two strategies in a lot more places.
Differential Revision: https://reviews.llvm.org/D137478
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions