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...