Book Image

LLVM Cookbook

Book Image

LLVM Cookbook

Overview of this book

Table of Contents (16 chapters)
LLVM Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Visualizing LLVM IR CFG using GraphViz


The LLVM IR control flow graph can be visualized using the GraphViz tool. It gives a visual depiction of the nodes formed and how the code flow follows in the IR generated. Since the important data structures in LLVM are graphs, this can be a very useful way to understand the IR flow when writing a custom pass or studying the behavior of the IR pattern.

Getting ready

  1. To install graphviz on Ubuntu, first add its ppa repository:

    $ sudo apt-add-repository ppa:dperry/ppa-graphviz-test
    
  2. Update the package repository:

    $ sudo apt-get update
    
  3. Install graphviz:

    $ sudo apt-get install graphviz
    

    Note

    If you get the graphviz : Depends: libgraphviz4 (>= 2.18) but it is not going to be installed error, run the following commands:

    $ sudo apt-get remove libcdt4
    $ sudo apt-get remove libpathplan4
    

    Then install graphviz again with the following command:

    $ sudo apt-get install graphviz
    

How to do it…

  1. Once the IR has been converted to DAG, it can be viewed in different phases...