search for: domtreenode

Displaying 20 results from an estimated 29 matches for "domtreenode".

2009 Jul 16
1
[LLVMdev] [patch] Dotty printer for dependency trees
...gt;> >> I implemented dotty printing for dominance trees Great! I'm a huge fan of graphviz integration in the compiler. > And here is the patch. What's up with copying from CFGPrinter.cpp into CFGPrinter.h? You shouldn't need that. + static nodes_iterator nodes_begin (DomTreeNode * N) { + return df_begin<DomTreeNode *> (N); + } + + static nodes_iterator nodes_end (DomTreeNode *N) { + return df_end<DomTreeNode *> (N); + } No spaces between the function name and the parenthesis. This occurs a few times. @@ -112,7 +59,7 @@ namespace { CFGOnlyView...
2009 Jul 14
2
[LLVMdev] [patch] Dotty printer for dependency trees
...: View postdominance tree of function -view-postdom-only : View postdominance tree of function (with no function bodies) The patch contains these changes: 1. Move DOTGraphTraits<const Function*> to CFGPrinter.h to reuse it later. 2. Add nodes_iterator to GraphTraits<DomTreeNode *>, GraphTraits<DominatorTree*>, GraphTraits<PostDominatorTree*> to enable the GraphWriter on these data structures. 3. The file DomPrinter.cpp containing the actual passes, printers & Co. It is simple as almost everything already existed. 4. A little bug fix in lib/Analysis/CF...
2009 Jul 14
0
[LLVMdev] [patch] Dotty printer for dependency trees
On Wed, 2009-07-15 at 00:20 +0200, Tobias Grosser wrote: > Hi, > > I started to work with llvm and liked the CFG dotty printer a lot. > However there was none for the dominance trees. > > I implemented dotty printing for dominance trees And here is the patch. Tobi -------------- next part -------------- A non-text attachment was scrubbed... Name:
2012 Aug 21
3
[LLVMdev] Fwd: DomTreeNode
Hi George, > When I compile llvm in release mode, the problem goes away! I don't understand? probably the function defined in the header is inlined into every function that calls it when optimization is turned on, but not when optimization is turned off. Ciao, Duncan.
2012 Aug 21
3
[LLVMdev] Fwd: DomTreeNode
On 08/21/2012 10:35 AM, George Baah wrote: > That is what I don't understand. This symbol is defined in Dominators.h, > which I include > in my file. I don't understand why I am getting this error. Here is my > opt command, > > "opt -load LLVMMyDomPass.dylib -mdp < test.bc > test.d.bc" It may also be that the relevant code is dead code eliminated, as it
2012 Aug 21
0
[LLVMdev] Fwd: DomTreeNode
When I compile llvm in release mode, the problem goes away! I don't understand? George On Tue, Aug 21, 2012 at 5:01 AM, Tobias Grosser <tobias at grosser.es> wrote: > On 08/21/2012 10:35 AM, George Baah wrote: > >> That is what I don't understand. This symbol is defined in Dominators.h, >> which I include >> in my file. I don't understand why I am
2012 Aug 21
2
[LLVMdev] Fwd: DomTreeNode
On 08/21/2012 01:44 PM, George Baah wrote: > When I compile llvm in release mode, the problem goes away! I don't > understand? Interesting. I have no idea what is going on, but it would be interesting to investigate that. Tobi
2012 Aug 21
0
[LLVMdev] Fwd: DomTreeNode
I think It has to do with the option --disable-optimized. Without that option llvm builds in release mode and everything works fine. Is there something being omitted in the makefiles when building in debug mode? I am running on Mac OSX Lion. George On Tue, Aug 21, 2012 at 8:02 AM, Tobias Grosser <tobias at grosser.es> wrote: > On 08/21/2012 01:44 PM, George Baah wrote: > >>
2012 Aug 21
0
[LLVMdev] Fwd: DomTreeNode
On 08/21/2012 02:40 PM, Duncan Sands wrote: > Hi George, > >> When I compile llvm in release mode, the problem goes away! I don't understand? > > probably the function defined in the header is inlined into every function that > calls it when optimization is turned on, but not when optimization is turned > off. You can try to add it into include/llvm/LinkAllPasses.h.
2012 Aug 21
1
[LLVMdev] Fwd: DomTreeNode
All the functions in LinkAllPasses.h are passes. I am not sure whether it takes inline functions. I added createPostDomTree() to LinkAllPasses.h but I get the same error. I wonder whether it was even worth it making the functions inline for PostDominators.h. George On Tue, Aug 21, 2012 at 9:05 AM, Tobias Grosser <tobias at grosser.es> wrote: > On 08/21/2012 02:40 PM, Duncan Sands
2012 Aug 21
0
[LLVMdev] Fwd: DomTreeNode
That is what I don't understand. This symbol is defined in Dominators.h, which I include in my file. I don't understand why I am getting this error. Here is my opt command, "opt -load LLVMMyDomPass.dylib -mdp < test.bc > test.d.bc" George On Tue, Aug 21, 2012 at 3:25 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi George, > > ... > > dyld: lazy
2012 Aug 20
5
[LLVMdev] DomTreeNode
Hi Guys, I am using the Postdom pass and I would like to get the root of the tree. However, everytime I try to get the root, I get a segfault. I don't know why the environment can't find DominatorTreeBase. Below is the code that generates the Segfault. In my .h file I include Dominators.h PDT.getRootNode(); //PDT is a reference to a PostDominatorTree dyld: lazy symbol binding
2017 Jul 17
2
An update on the DominatorTree and incremental dominators
...We switched from the Simple Lengauer-Tarjan algorithm for computing dominators to Semi-NCA, which is a bit faster in most cases. Although it is possible to construct a CFG that triggers the pathological quadratic complexity of Semi-NCA, we weren’t able to observe it in practice. - DomTreeNodes now automatically store their level (depth) in the tree, which is always up-to-date. This is used for fast nearest common dominator computation and for building iterated dominance frontier. You can get it by calling .getLevel() on a DomTreeNode. - We have a new set of verifiers tha...
2016 Jul 13
2
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...258 > (DependenceAnalysis was missing some edges in my previous rendering and I > didn't have and I've added LoopAccessAnalysis; I've updated > http://reviews.llvm.org/P6603). Which other analyses vend data objects > that others might hold pointers to? > SCEV, Loop, SCC, DomTreeNode, and Region leap immediately to mind. and 3 of those are what would be IRUnitTs (Region being the third, and its weird and likely won't be in the new PM ever). -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachment...
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...was missing some edges in my previous rendering and I didn't have and I've added LoopAccessAnalysis; I've updated http://reviews.llvm.org/P6603 <http://reviews.llvm.org/P6603>). Which other analyses vend data objects that others might hold pointers to? > > SCEV, Loop, SCC, DomTreeNode, and Region leap immediately to mind. and 3 of those are what would be IRUnitTs (Region being the third, and its weird and likely won't be in the new PM ever). > > Looking around a bit: > Looks like DomTreeNode isn't held by anything currently. > Pointers to Loop are only held...
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
Hi all, I am trying to traverse a dominator tree and have encountered a weird runtime exception: Here's my simple code: virtual bool runOnFunction(Function &F) { DominatorTree& DT = getAnalysis<DominatorTree>(); * DomTreeNode* rootNode = DT.getRootNode();* return false. } Here's the documentation page: http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html And here's my runtime exception: dyld: lazy symbol binding failed: Symbol not found: __ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11getRoo...
2010 Apr 07
2
[LLVMdev] graph abstraction proposal
...plification of DominatorTreeBase::recalculate with some pseudocode: void recalculate(Graph& graph) { reset(); this->Vertex.push_back(0); // Initialize roots this->Roots = graph.getRoots(); iterate over roots { this->IDoms[root] = 0; this->DomTreeNodes[root] = 0; } Calculate(*this, graph); } Note that the flag IsPostDominators is gone. Where necessary it can be replaced by checking if the graph has exactly one root. -Jochen
2010 Aug 05
1
[LLVMdev] a problem when using postDominatorTree
Wenbin Zhang wrote: > I'll try the trunk, as well as check my code again. If indeed it's not > fixed, I'll try to post a triggering case here. > Thanks for the advice~ > Did you run the -mergereturn pass (it might also be called UnifyExitNodes in the source code)? This is the pass that ensures that each function has exactly one basic block that returns control to the
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...i all, > > I am trying to traverse a dominator tree and have encountered a weird > runtime exception: > > Here's my simple code: > > virtual bool runOnFunction(Function &F) { > DominatorTree& DT = getAnalysis<DominatorTree>(); > > * DomTreeNode* rootNode = DT.getRootNode();* > return false. > } > > Here's the documentation page: > http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html > > And here's my runtime exception: > dyld: lazy symbol binding failed: Symbol not found: > __ZN4llv...
2013 Apr 12
0
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...e: > Hi all, > > I am trying to traverse a dominator tree and have encountered a weird > runtime exception: > > Here's my simple code: > > virtual bool runOnFunction(Function &F) { > DominatorTree& DT = getAnalysis<DominatorTree>(); > > * DomTreeNode* rootNode = DT.getRootNode();* > return false. > } > > Here's the documentation page: > http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html > > And here's my runtime exception: > dyld: lazy symbol binding failed: Symbol not found: > __ZN4llvm17D...