[llvm-commits] CVS: llvm/lib/VMCore/Dominators.cpp
Devang Patel
dpatel at apple.com
Thu Jun 7 10:21:13 PDT 2007
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 at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list