[cfe-dev] Refactoring the dominators patch for Clang
Guoping Long
longguoping at gmail.com
Tue Nov 8 09:29:58 PST 2011
Hi, Ted, Anna
Thanks. Now I think I understand the design rationale behind
GraphTraits. I will do another refactoring later this week.
--
Guoping
2011/11/7 Ted Kremenek <kremenek at apple.com>
> On Nov 7, 2011, at 9:10 PM, Anna Zaks wrote:
>
>
> On Nov 7, 2011, at 7:08 PM, Ted Kremenek wrote:
>
> On Nov 3, 2011, at 10:50 AM, Ted Kremenek wrote:
>
> On Nov 2, 2011, at 4:23 PM, Anna Zaks wrote:
>
> On llvm's side, it would involve changing the recalculate function to use
> getEntryBlock instead of front(). Looks like they are the same thing.
>
> On Clang's side, we could just rename CFG::getEntry() ->
> CFG::getEntryBlock().
>
>
> Both of these seem reasonable to me.
>
>
> Looking back at this comment, I think the Dominators algorithm should not
> rely on the existence of a 'getEntryBlock()' and really just being using
> GraphTraits that can get the entrance of the graph. We shouldn't have to
> rename anything in the CFG just to get the dominators analysis to work. If
> we are missing a concept, that is one thing, but renaming something means
> that the dominators analysis is relying on particular methods being
> present. That just feels really wrong to me. As I mentioned in another
> email I just sent, there is also no reason for the dominators analysis to
> have any notion of "basic blocks" either since it is a generic graph
> algorithm.
>
>
> Ted, this comment is from before Guoping pointed out that this function
> name is not the only inconsistency between Function and CFG (at that point
> it seemed fine to just make a simple change to get the patch through). With
> the new approach, where we change the dominators to use GraphTraits, it
> will handle this case as well. There is getEntryBlock() method in the
> GraphTraits.
>
>
> Indeed. I figured this would be handled by using GraphTraits for
> everything, but I wanted to amend my previous comment for posterity. :)
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20111108/844e0841/attachment.html>
More information about the cfe-dev
mailing list