Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] CFG as DOT: where do node addresses come from?"
2009 Aug 13
1
[LLVMdev] Graphviz and LLVM-TV
Hi Ioannis,
On Thu, 2009-08-13 at 19:31 +0100, Ioannis Nousias wrote:
> Thanks Tobi for the tip.
>
> however I also need the Data-Flow-Graph of each basic block/functions.
> As I said, I need a view of how the instructions 'link' to each other
> (via registers or memory aliasing or whatnot)
I believe that there is not yet a DOT printer for this kind of
information.
2009 Jul 14
2
[LLVMdev] [patch] Dotty printer for dependency trees
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 introduced these
new flags:
-dot-dom : Print dominance tree of function to 'dot' file
-dot-dom-only : Print dominance tree of function to 'dot' file
(with no function
2009 Jul 16
1
[LLVMdev] [patch] Dotty printer for dependency trees
Tobias Grosser wrote:
> 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
Great! I'm a huge fan of graphviz integration in the compiler.
> And here is the
2009 Sep 06
3
[LLVMdev] Graphviz and LLVM-TV
On 2009-09-06 19:57, Ioannis Nousias wrote:
> Edwin,
>
> thank you for your effort, but I'm not sure I understand.
> Are you describing a graph traversal problem? Is the data model stored
> in a predecessor/successor fashion, which requires you to 'walk' the
> graph in order to visit all nodes? (and what happens when you have
> disjointed DFGs?).
Sorry for the
2009 Sep 07
0
[LLVMdev] Graphviz and LLVM-TV
Edwin,
thanks, it starts making sense
inline comments...
Török Edwin wrote:
> On 2009-09-06 19:57, Ioannis Nousias wrote:
>
>> Edwin,
>>
>> thank you for your effort, but I'm not sure I understand.
>> Are you describing a graph traversal problem? Is the data model stored
>> in a predecessor/successor fashion, which requires you to 'walk' the
2009 Sep 06
0
[LLVMdev] Graphviz and LLVM-TV
I've tried to write a DFGPrinter based on the CFGPrinter, as you
suggested, but encountered problems.
The GraphWriter expects
GraphTraits<GraphType>::nodes_begin()/nodes_end(). The way this is
implemented in CFG.h, a function is a graph of basic blocks. A
GraphTraits<Function*> inherits from GraphTraits<BasicBlock*>, and
implements those nodes_begin()/nodes_end()
2012 Jul 20
1
[LLVMdev] How to view CFG of loop (not complete function)
Hi all,
I need to look at the CFG of a loop during debugging. However the
containing function is very large, so it is rather difficult to use the
CFG of the complete function. I tried using the ViewGraph method, but
the compiler kept complaining about undefined symbols related to
GraphTraits or
DOTGraphTraits. Is there any example that I could look at to find out,
what exactly I need to call
2009 Sep 06
2
[LLVMdev] Graphviz and LLVM-TV
On 2009-09-06 17:30, Ioannis Nousias wrote:
> I've tried to write a DFGPrinter based on the CFGPrinter, as you
> suggested, but encountered problems.
>
> The GraphWriter expects
> GraphTraits<GraphType>::nodes_begin()/nodes_end(). The way this is
> implemented in CFG.h, a function is a graph of basic blocks. A
> GraphTraits<Function*> inherits from
2012 May 31
2
[LLVMdev] DFG of machine functions
Hi,
I am trying to generate the DFG of machine functions.
Initially, I added a pass to generate the DFG of LLVM IR functions. This
was based on the mail thread -
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025582.html. This
pass worked fine and I was able to generate DFG of LLVM IR functions.
Later, I ported the DFG pass code for machine functions. I ported the
InstIterator.h
2012 Jun 02
0
[LLVMdev] DFG of machine functions
I tried debugging it and the issue seems to be in the implementation of
MachineInstrIterator.h and the way it interacts with GraphWriter.h
functions. I found this by replacing the ( template <> struct
GraphTraits<MCDFGraph<MachineFunction*> >) with a similar MCDFGraph based
template of CFG similar to the one in MachineFunction.h (similarly
replacing the DOTGraphTraits with the
2009 Aug 13
7
[LLVMdev] Graphviz and LLVM-TV
Hi
I'm trying to get a graphviz output (DOT) of a code I'm compiling. I
want to see the DFG/CFG of the LLVM assembly, how the operations are
chained together. The documentation mentions something about calling
certain methods from within gdb, but isn't there some option when
invoking the compiler (I've seen some -print-cfg and -dot-cfg options
mentioned in some source files,
2008 Sep 15
2
[LLVMdev] DOTGraphTraits and GraphWriter
Hi all,
I have two questions related to .dot graph output. Basically, I have a
graph representing a program dependence graph like structure with
(a) multiple edges between the same pair of nodes
(b) each edge having a special (different) text/label
I implemented a template-specialized version of DotGraphTraits for the
my graph structure which given a node, uses a map_iterator (similar to
the one
2009 Sep 06
0
[LLVMdev] Graphviz and LLVM-TV
Edwin,
thank you for your effort, but I'm not sure I understand.
Are you describing a graph traversal problem? Is the data model stored
in a predecessor/successor fashion, which requires you to 'walk' the
graph in order to visit all nodes? (and what happens when you have
disjointed DFGs?).
inline comments follow...
Török Edwin wrote:
> On 2009-09-06 17:30, Ioannis Nousias
2008 Sep 16
2
[LLVMdev] DOTGraphTraits and GraphWriter
Hi Dan,
Thanks for the reply. I got the labels for each outgoing edge (at the
source node's 'structure' field) working. Is there a way to find out
the outgoing edge number from EdgeIter. (Basically the Node in my
graph has a a bunch of outgoing edges, so that I can just index into
that collection within the node to get the appropriate edges'
attributes).
regards,
Prakash
On Tue,
2008 Sep 16
0
[LLVMdev] DOTGraphTraits and GraphWriter
Hello Prakash,
The SelectionDAG viewers (llc -view-isel-dags etc.) support
both multiple edges between the same pair of nodes, and labels
at least for each incoming edge. See
lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp for code you
might use as an example, though it is a bit tricky.
Dan
On Sep 15, 2008, at 3:15 PM, Prakash Prabhu wrote:
> Hi all,
>
> I have two questions related
2008 Sep 22
0
[LLVMdev] DOTGraphTraits and GraphWriter
Hi Prakash,
I don't know of an easy way to do this, other than to use random-access
iterators so you can compute the distance between the edge and the
beginning of the list of edges.
Dan
On Sep 16, 2008, at 2:58 PM, Prakash Prabhu wrote:
> Hi Dan,
>
> Thanks for the reply. I got the labels for each outgoing edge (at the
> source node's 'structure' field) working. Is
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:
2013 Jan 10
0
[LLVMdev] Call graph printer/viewer
Hi,
I would like viewing the call graph using opt. Right now this is
not possible. Indeed, to view the call graph one should tell
opt to dump it to a file and then open it with a DOT viewer.
So I started adding support for viewing the call graph from opt.
Basically, there are 2 alternatives:
1) If you are trying to print/view a graph that is a Function
analysis, then exploit
2015 Mar 12
2
[LLVMdev] CFG Customization
Hi John, thank you for your answer.
Sorry if I was not clear ^^'
I try to build a RCG (Resource Control Graph) which is a CFG with a
weight.
In my case, this weight corresponds to the number of heap allocations.
Then I want to add this weight to each node (then basic block) of this
graph.
I think that a CFG is a GraphTraits<BasicBlock*> then I suppose that
this RCG will be
a
2017 May 29
3
Should we split llvm Support and ADT?
2017-05-26 17:47 GMT-07:00 Zachary Turner via llvm-dev <
llvm-dev at lists.llvm.org>:
> Changing a header file somewhere and having to spend 10 minutes waiting
> for a build leads to a lot of wasted developer time.
>
> The real culprit here is tablegen. Can we split support and ADT into two
> - the parts that tablegen depends on and the parts that it doesn't?
>