[llvm] [HashRecognize] Rewrite arePHIsIntertwined (PR #144878)
Piotr Fusik via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 1 04:47:37 PDT 2025
================
@@ -497,42 +497,46 @@ CRCTable HashRecognize::genSarwateTable(const APInt &GenPoly,
return Table;
}
-/// Checks if \p Reference is reachable from \p Needle on the use-def chain, and
-/// that there are no stray PHI nodes while digging the use-def chain. \p
-/// BOToMatch is a CRC peculiarity: at least one of the Users of Needle needs to
-/// match this OpCode, which is XOR for CRC.
-static bool arePHIsIntertwined(
- const PHINode *Needle, const PHINode *Reference, const Loop &L,
- Instruction::BinaryOps BOToMatch = Instruction::BinaryOpsEnd) {
- // Initialize the worklist with Users of the Needle.
- SmallVector<const Instruction *> Worklist;
- for (const User *U : Needle->users()) {
- if (auto *UI = dyn_cast<Instruction>(U))
- if (L.contains(UI))
- Worklist.push_back(UI);
- }
+/// Checks that \p L and \p R are used together in an XOR in the use-def chain
----------------
pfusik wrote:
```suggestion
/// Checks that \p P1 and \p P2 are used together in an XOR in the use-def chain
```
and in the IR snippet comment.
https://github.com/llvm/llvm-project/pull/144878
More information about the llvm-commits
mailing list