llvm / llvm/llvm-project

[DA] Addressing missed loop opportunities due to more strict DA checks.

Open
#178,296 4 comments 0 reactions 0 assignees View on GitHub
loopoptim
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Current effort to address correctness issues in DA, will inevitably result in missing some loop optimization opportunities. This is evident from the changes in loop fusion and loop unroll and jam testcases in https://github.com/llvm/llvm-project/pull/178047

At this point it is not clear whether there will be missed opportunties beyond simple testcases that someone really cares for or not. But this is likely and if it happens, there might be a solution.

The solution is not a replacement of the existing DA algorithms. Instead it is a complementary approach that may work in some situations in which the existing approach doesn't work (and will not work in some situation that the current one works).

I have some scattered comments elsewhere that explains this approach and I try to gather them here and hopefully make it more complete gradually.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.