[PATCH] D34135: [JumpThreading] Use DT to avoid processing dead blocks

Brian Rzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 11:48:09 PST 2018


brzycki added a comment.

Added inline comment.



================
Comment at: lib/Transforms/Scalar/JumpThreading.cpp:951
   // This simplifies other transformations.
-  if (DDT->pendingDeletedBB(BB) ||
-      (pred_empty(BB) && BB != &BB->getParent()->getEntryBlock()))
+  if (DDT->pendingDeletedBB(BB) || !DDT->flush().isReachableFromEntry(BB))
     return false;
----------------
I do not think this will be accepted by the community. The performance implications are  non-trivial (around 1-4%) when this is called on almost every basic block.  It's the primary reason I had to write the DeferredDominance class.


https://reviews.llvm.org/D34135





More information about the llvm-commits mailing list