[llvm] [HashRecognize] Strip ValueEvolution (PR #148620)

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 11 08:57:56 PDT 2025


artagnon wrote:

> I'm still not happy with `containsUnreachableOrUnhandled` just checking the instruction types and not how they are connected.

I'm not happy with it either: at the moment, I just tried exacting the logic from ValueEvolution, and getting rid of it. There's an additional problem with computeKnownBits: it is limited by depth, and cannot be used for a correctness-check.

> Why not pattern-match the whole loop (without looking for `SimpleRecurrence` and `ConditionalRecurrence` first) ?

Still thinking about what the best way to do this would be. I'd be more inclined to pattern-match piece-wise: so, keeping (Simple|Conditional)Recurrence, and matching more and more of the loop in steps; I think this approach would be least fragile.

https://github.com/llvm/llvm-project/pull/148620


More information about the llvm-commits mailing list