aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorUday Bondhugula <uday@polymagelabs.com>2023-11-16 08:52:12 +0530
committerGitHub <noreply@github.com>2023-11-16 08:52:12 +0530
commitc79ffb02bbd79c9abe0add4a5bcef375af0a9755 (patch)
tree9004949aca29b059940eb0a76d43b6d69fd2e907 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentf5bfc833fcbf17a5876911783d1adaca7028d20c (diff)
downloadllvm-c79ffb02bbd79c9abe0add4a5bcef375af0a9755.zip
llvm-c79ffb02bbd79c9abe0add4a5bcef375af0a9755.tar.gz
llvm-c79ffb02bbd79c9abe0add4a5bcef375af0a9755.tar.bz2
Generalize affine fusion to work at all depths and inside other region-holding ops (#72288)
Generalize affine fusion to work at any inner depth; fusing loops inside other affine.for or even inside scf.for or scf.while nests. Apply in post order on all affine nests on the pass' top-level operation. Fix MDG init for blocks inside other affine nests. Relax unnecessary requirement for unique vars during merge and align of FlatLinearValueConstraints. There are several cases where FlatLinearValueConstraints need to have duplicate Values for the dimensions: for eg. in dependence relation systems with source and destination accesses could have common loop IVs. `mergeAndAlign` can be done even in the presence of Values reappearing by simply aligning from left to right in that order. While at this, drop outdated comments; improve some debug messages.
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions