[Polly] Implement user-directed loop distribution/fission.
authorMichael Kruse <llvm-project@meinersbur.de>
Wed, 22 Sep 2021 22:27:16 +0000 (17:27 -0500)
committerMichael Kruse <llvm-project@meinersbur.de>
Wed, 22 Sep 2021 22:28:25 +0000 (17:28 -0500)
commit52c30adc7dfe6334b71adf256d81f70e7b976143
tree8d42406c62c45c12758095e0e0487bb1f39696a2
parentac191bcc99e2fc4ab7993138f5e82a0b75b7e9db
[Polly] Implement user-directed loop distribution/fission.

This is a simple version without the possibility to define distribute
points or followup-transformations. However, it is the first
transformation that has to check whether the transformation is correct.

It interprets the same metadata as the LoopDistribute pass.
polly/include/polly/DependenceInfo.h
polly/include/polly/ManualOptimizer.h
polly/include/polly/ScheduleTreeTransform.h
polly/lib/Analysis/DependenceInfo.cpp
polly/lib/Transform/ManualOptimizer.cpp
polly/lib/Transform/ScheduleOptimizer.cpp
polly/lib/Transform/ScheduleTreeTransform.cpp
polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll [new file with mode: 0644]
polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll [new file with mode: 0644]
polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll [new file with mode: 0644]