[PATCH] D130910: [NewGVN][PHIOFOPS] Bail-out if an operand is in OpSafeForPHIOfOps but it is not safe for the current basic block.

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 01:28:19 PDT 2022


foad added a comment.

I am not too familiar with NewGVN, but wouldn't it be simpler and safer to clear OpSafeForPHIOfOps in verifyIterationSettled()? It is inside `#ifndef NDEBUG` so it doesn't matter too much if it's a bit slower.



================
Comment at: llvm/lib/Transforms/Scalar/NewGVN.cpp:2590-2591
+    // operand. In the second run of NewGVN, it will be considered a safe
+    // operand even for the first case. To avoid this problem, we meed to
+    // bail-out here.
+    const Instruction *I = cast<Instruction>(OISIt->first);
----------------
"need", "bail out" (no hyphen)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130910/new/

https://reviews.llvm.org/D130910



More information about the llvm-commits mailing list