aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorDiego Caballero <diego.caballero@intel.com>2021-01-21 00:41:51 +0200
committerDiego Caballero <diego.caballero@intel.com>2021-01-25 20:31:17 +0200
commitc8fc5c0385dbb47623c1cca5efa0b96d5e5f8151 (patch)
tree4f5c1ece79177e113d5e0ecd0749ff19dd8451d4 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parentc9cd9a006632419ce7346e50564e6347a93181cc (diff)
downloadllvm-c8fc5c0385dbb47623c1cca5efa0b96d5e5f8151.zip
llvm-c8fc5c0385dbb47623c1cca5efa0b96d5e5f8151.tar.gz
llvm-c8fc5c0385dbb47623c1cca5efa0b96d5e5f8151.tar.bz2
[mlir][Affine] Add support for multi-store producer fusion
This patch adds support for producer-consumer fusion scenarios with multiple producer stores to the AffineLoopFusion pass. The patch introduces some changes to the producer-consumer algorithm, including: * For a given consumer loop, producer-consumer fusion iterates over its producer candidates until a fixed point is reached. * Producer candidates are gathered beforehand for each iteration of the consumer loop and visited in reverse program order (not strictly guaranteed) to maximize the number of loops fused per iteration. In general, these changes were needed to simplify the multi-store producer support and remove some of the workarounds that were introduced in the past to support more fusion cases under the single-store producer limitation. This patch also preserves the existing functionality of AffineLoopFusion with one minor change in behavior. Producer-consumer fusion didn't fuse scenarios with escaping memrefs and multiple outgoing edges (from a single store). Multi-store producer scenarios will usually (always?) have multiple outgoing edges so we couldn't fuse any with escaping memrefs, which would greatly limit the applicability of this new feature. Therefore, the patch enables fusion for these scenarios. Please, see modified tests for specific details. Reviewed By: andydavis1, bondhugula Differential Revision: https://reviews.llvm.org/D92876
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions