[llvm-commits] [llvm] r150885 - /llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp

Chris Lattner clattner at apple.com
Sat Feb 25 20:12:06 PST 2012


On Feb 25, 2012, at 6:37 PM, Rafael EspĂ­ndola wrote:

> On 24 February 2012 22:44, Chris Lattner <clattner at apple.com> wrote:
>> I haven't been following the whole thread, but dominators provides one specific invariant: unreachable code does not show up, so it never returns true for dominance relations.  DomTrer also had an isReachable predicate.  This system has worked quite well so far.
> 
> I see. I updated my patches to assert that the dominates(inst, inst)
> function is only used with reachable code and committed.
> 
> What is the rationale for assuming reachable code? Other than the
> isReachableFromEntry implementation, it looks like most code would be
> ok with an interface where dominates(any, unreachable) is true.

It's just that you get asymmetry in the interface.  It is really helpful if dominates(a,b) != dominates(b,a)

-Chris



More information about the llvm-commits mailing list