Nick, On Jun 6, 2007, at 7:19 PM, Nick Lewycky wrote:
> Predicate simplifier uses this to get the DFS nums for a BB. We also > pass around ETNode*s to avoid having a lot of functions doing BB- > >ETNode > lookups. I am not familiar with predicate simplifier implementation, but why do such look ups ? I am exploring the idea to make ETNode completely private unless there is a good reason. Usually, a transformation needs dominance info, it does not matter whether ETNode or DomTreeNode or SomeOtherNode is used as part of DomTree or ETForest or SomeJungle to get that info. > Similarly with updateDFSNumbers. More than a performance issue, if the > DFS nums aren't up to date predsimplify will crash (and if it didn't > crash it wouldn't work; it needs correct DFS nums). I spoke with Dan > Berlin about it and he says that there's no guarantee that the DFS > nums > will be up to date upon entry to a pass, so I call it there. If you're interested then the simple way is to invoke updateDFSNumbers() after each pass that claims that it preserves dom info. - Devang > I'm open to suggestions. > > Nick > > Devang Patel wrote: >> +// FIXME : There is no need to make getNodeForBlock public. Fix >> +// predicate simplifier. >> ETNode *ETForest::getNodeForBlock(BasicBlock *BB) { >> ETNode *&BBNode = Nodes[BB]; >> if (BBNode) return BBNode; > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits