[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:46:07 PST 2018
brzycki added a comment.
Hi @uabelho.
> Or should we add
>
> if (!DDT->flush().isReachableFromEntry(BB))
> continue;
>
> ?
> That alone seems to solve the problem, even if I remove the fix in ProcessBlock.
Doing this outside of ProcessBlock is preferred. The Jumpthreading pass is very expensive in that it iterates over F until no changes are made and every iteration of F it iterates multiple times over every BB until each block stabilizes. If there is a way to gate the flush() with a simple check I recommend doing so too.
https://reviews.llvm.org/D34135
More information about the llvm-commits
mailing list