heir icon indicating copy to clipboard operation
heir copied to clipboard

Should we keep the HECO-style optimization passes?

Open j2kun opened this issue 2 months ago • 4 comments

Placeholder for TODO and discussion.

j2kun avatar Oct 16 '25 20:10 j2kun

I'd vote for no, at least not the current unroll-everything version - maybe a "smart" version that instead looks at affine loops might still make sense (especially if the "smart" version turns out to just be a few calls to ISL)...

Independent of that, some of the patterns might make sense to keep around just as general peephole optimization?

AlexanderViand avatar Oct 16 '25 20:10 AlexanderViand

Looks like we'll need to keep it for a while longer, most of our tests that do naive loops that came from HECO don't work when the HECO passes are removed

https://github.com/j2kun/heir/pull/new/remove-heco-from-pipeline was the attempt.

j2kun avatar Oct 20 '25 18:10 j2kun

we could potentially migrate all those tests to use linalg ops, and then ensure the linalg ops have kernels, but then the frontend tests that involve naive loops would also fail, so I think maybe we wait until we have proper loop support.

j2kun avatar Oct 20 '25 18:10 j2kun

This issue has 1 outstanding TODOs:

This comment was autogenerated by todo-backlinks

github-actions[bot] avatar Oct 28 '25 22:10 github-actions[bot]