[llvm] [LoopIdiom] Use HashRecognize to optimize CRC (PR #143208)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 17 08:26:49 PDT 2025
artagnon wrote:
Okay, the correctness issues should be fixed now: I've checked the output on different examples I wrote by hand. The [diff](https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2455) from llvm-opt-benchmark also looks sound.
Pending items:
1. LLVM Compile Time tracker reports a [regression](https://llvm-compile-time-tracker.com/compare.php?from=89f692a24f6a13ae5cf9e37f91abe6f34c403258&to=ea6c264614eb19df7c33ebae3f3032f8e55654ff&stat=instructions:u) on certain examples, although the size-text says that none of them were touched. It would be good to investigate if this wasted work can be eliminated.
2. Since the pass is enabled by default in this PR, some pass-pipeline printing tests failed. Also, there's a CRC optimizer in Hexagon that runs later in the pipeline, and should probably be stripped: the test is written with O2, and hence fails.
3. I'm currently running SingleSource and MultiSource tests in llvm-test-suite to verify that there are no failures.
4. I think we can go ahead and review this, and turn it off by default for now, and merge. @nikic: can you comment on the testing required to get this turned on by default?
https://github.com/llvm/llvm-project/pull/143208
More information about the llvm-commits
mailing list