Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-06-08 Thread Devang Patel
On Jun 8, 2007, at 10:47 AM, Chris Lattner wrote: >> --- llvm/include/llvm/Analysis/Dominators.h:1.95 Thu Jun 7 >> 16:34:22 2007 >> +++ llvm/include/llvm/Analysis/Dominators.h Thu Jun 7 17:17:16 2007 >> @@ -142,6 +142,16 @@ >> return getNode(BB); >>} >> >> + /// getIDomBlock - re

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-06-08 Thread Chris Lattner
>>> + /// getIDomBlock - return basic block BB's immediate domiantor >>> basic block. >>> + /// >>> + BasicBlock *getIDomBlock(BasicBlock *BB) { >>> +DomTreeNode *N = getNode(BB); >>> +assert (N && "Missing dominator tree node"); >>> +DomTreeNode *I = N->getIDom(); >>> +assert (N

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-06-08 Thread Chris Lattner
> --- llvm/include/llvm/Analysis/Dominators.h:1.95 Thu Jun 7 > 16:34:22 2007 > +++ llvm/include/llvm/Analysis/Dominators.h Thu Jun 7 17:17:16 2007 > @@ -142,6 +142,16 @@ > return getNode(BB); >} > > + /// getIDomBlock - return basic block BB's immediate domiantor > basic bloc

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h ET-Forest.h

2007-04-21 Thread Chris Lattner
> Add accessor to get the blocks immediately dominated by a given > block to ETForest. Ok... > @@ -327,6 +327,20 @@ > const ETNode *idom = NodeA->getFather(); > return idom ? idom->getData() : 0; >} > + > + void getChildren(BasicBlock *A, std::vector& > children) { > +ETNod

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-04-20 Thread Chris Lattner
>/// Return the immediate dominator of A. > - BasicBlock *getIDom(BasicBlock *A) { > + BasicBlock *getIDom(BasicBlock *A) const { > +if (!A) return 0; > + > ETNode *NodeA = getNode(A); A can't be null here, please check that NodeA isn't null instead (i.e. that A is reachable). -C

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-04-19 Thread Chris Lattner
> + /// Return the immediate dominator of A. > + BasicBlock *getIDom(BasicBlock *A) { > +ETNode *NodeA = getNode(A); > +const ETNode *idom = NodeA->getFather(); > +return idom ? idom->getData() : 0; > + } Random other question: Why does ETNode have a template accessor to get its

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-04-19 Thread Chris Lattner
On Apr 19, 2007, at 11:10 AM, Devang Patel wrote: > > On Apr 17, 2007, at 9:38 PM, Owen Anderson wrote: > >> Index: llvm/include/llvm/Analysis/Dominators.h >> diff -u llvm/include/llvm/Analysis/Dominators.h:1.72 llvm/include/ >> llvm/Analysis/Dominators.h:1.73 >> --- llvm/include/llvm/Analysis/Do

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-04-19 Thread Devang Patel
On Apr 17, 2007, at 9:38 PM, Owen Anderson wrote: > Index: llvm/include/llvm/Analysis/Dominators.h > diff -u llvm/include/llvm/Analysis/Dominators.h:1.72 llvm/include/ > llvm/Analysis/Dominators.h:1.73 > --- llvm/include/llvm/Analysis/Dominators.h:1.72 Sun Apr 15 18:14:18 > 2007 > +++ llv

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h PostDominators.h

2007-04-15 Thread Chris Lattner
> @@ -225,10 +225,10 @@ >void Compress(BasicBlock *V, InfoRec &VInfo); >BasicBlock *Eval(BasicBlock *v); >void Link(BasicBlock *V, BasicBlock *W, InfoRec &WInfo); > - inline BasicBlock *getIDom(BasicBlock *BB) const { > - std::map::const_iterator I = > IDoms.find(BB); > -

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h PostDominators.h

2007-04-15 Thread Chris Lattner
> Remove ImmediateDominator analysis. The same information can be > obtained from DomTree. A lot of code for > constructing ImmediateDominator is now folded into DomTree > construction. > > This is part of the ongoing work for PR217: http://llvm.org/PR217 . Woot. > + > + struct InfoRec {

Re: [llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

2007-04-08 Thread Chris Lattner
> --- llvm/include/llvm/Analysis/Dominators.h:1.67 Sun Apr 8 > 16:30:05 2007 > +++ llvm/include/llvm/Analysis/Dominators.h Sun Apr 8 19:52:49 2007 > @@ -27,6 +27,7 @@ > #define LLVM_ANALYSIS_DOMINATORS_H > > #include "llvm/Analysis/ET-Forest.h" > +#include "llvm/Function.h" > #include