Hello, LLVM provides several ways to visual IR structure straight in its core - Function::viewCFG() to render control flow graph, then -view-* options to llc to render various stages of transforming to machine code. However, I wasn't able to find a way to render complete DAG visualization of normal IR - which besides CFG would also show dataflow (and other flows, if any). What people use to visualize such structure? Thanks, Paul mailto:pmiscml at gmail.com
Hi, On 02/24/2013 06:39 PM, Paul Sokolovsky wrote:> Hello, > > LLVM provides several ways to visual IR structure straight in its core - > Function::viewCFG() to render control flow graph, then -view-* options > to llc to render various stages of transforming to machine code. > However, I wasn't able to find a way to render complete DAG > visualization of normal IR - which besides CFG would also show dataflow > (and other flows, if any). What people use to visualize such structure?For a project involving a tree data structure, we created a graph for representing IR for further analysis. I attached an excerpt of such a graph to give you an idea. If it helps, we will see how to proceed ;) Cheers, Sebastian -- Mit freundlichen Grüßen / Kind regards Sebastian Dreßler Zuse Institute Berlin (ZIB) Takustraße 7 D-14195 Berlin-Dahlem Germany dressler at zib.de Phone: +49 30 84185-261 http://www.zib.de/ -------------- next part -------------- A non-text attachment was scrubbed... Name: graph.dot.pdf Type: application/pdf Size: 67493 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130224/97b669dd/attachment.pdf>
Hello, On Sun, 24 Feb 2013 19:15:27 +0100 Sebastian Dreßler <dressler at zib.de> wrote: []> For a project involving a tree data structure, we created a graph for > representing IR for further analysis. I attached an excerpt of such a > graph to give you an idea. If it helps, we will see how to proceed ;)Well, after grepping LLVM source for apparent lack of it and googling for couple of apps which didn't bootstrap, I proceeded to write mine either as a learning exercise, but I'm still not sure I do it the best way or handle all cases (so far testing on trivial examples of course), so if your app in open source, definitely would be nice to look at. What I have on my hands so far: http://postimage.org/image/j4opcf4xf/> Cheers, > Sebastian-- Best regards, Paul mailto:pmiscml at gmail.com