[llvm-dev] RFC: Strong GC References in LLVM

Andrew Trick via llvm-dev llvm-dev at lists.llvm.org
Fri Jul 15 16:27:21 PDT 2016


> On Jul 15, 2016, at 4:21 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
> 
> Doing a CFG walk instead of a PostDom walk is typically not such a big deal.
> 
> Using post-dom to approximate classical control dependence, as we do in several places, has led to a mess nobody quite understands in those places.
>  
> But, like i said, i have a plan to fix this by making post-dom updates automatic. There are now incremental dominance update algorithms that are very fast in the common case (IE 100x faster than computing from scratch) and even in the very pathological cases, 2x faster than computing from scratch.  This comes out to "fast enough" to maintain postdom without anyone having to think about anything other than saying "i added an edge" or "i deleted an edge”.

Ok, I do love incremental domtree update. It’s just that for postdom you have to be aware of addition/removal of maythrow sort of calls.

> I often overload the term “control dependence” here. When I say a load is control dependent on a branch, I don’t mean that the load’s block is classically control dependent on the branch, I mean that the load is illegal to speculate above the branch. Yes they are two different things, but I don’t have a better term to use for that dependence information.

I still don’t know how to talk about a load’s dependencies without calling it “control dependence”

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160715/92f58179/attachment.html>


More information about the llvm-dev mailing list