[PATCH] D32614: [GVNHoist] Fix: PR32821, add check for anticipability in case of infinite loops
Daniel Berlin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 27 15:22:02 PDT 2017
dberlin added a comment.
In https://reviews.llvm.org/D32614#740119, @hiraditya wrote:
> In https://reviews.llvm.org/D32614#739947, @dberlin wrote:
>
> > I'm at a loss to understand why you believe you need to compute joint post-dominance (which is what this is) to compute ANTIC.
>
>
> If the set of BasicBlocks (WL) do not joint-post-dominate the hoisting point (HoistBB), then the expression to be hoisted (from WL) cannot be ANTIC in HoistBB.
Sure.
That is definitely a way of computing it.
It is a generally slow and unused way of computing it, because there are only certain points in the SSA graph where ANTIC can actually change.
> It is a necessary condition what I'm checking here.
It is not necessary to perform graph reachability to do this.
https://pdfs.semanticscholar.org/6d0f/07ff330402b46e83d46142e202069d9aeceb.pdf
Stare at the down-safety step.
With a few bits, it is only actually necessary to compute and check antic at the possible phis you would insert to do your hoisting.
https://reviews.llvm.org/D32614
More information about the llvm-commits
mailing list