[llvm-commits] CVS: llvm-tv/README.txt
Misha Brukman
brukman at cs.uiuc.edu
Tue Oct 5 14:15:19 PDT 2004
Changes in directory llvm-tv:
README.txt updated: 1.6 -> 1.7
---
Log message:
Update documentation on configuring/building llvm-tv
---
Diffs of the changes: (+22 -31)
Index: llvm-tv/README.txt
diff -u llvm-tv/README.txt:1.6 llvm-tv/README.txt:1.7
--- llvm-tv/README.txt:1.6 Sun Apr 25 17:27:09 2004
+++ llvm-tv/README.txt Tue Oct 5 16:15:08 2004
@@ -1,47 +1,38 @@
-LLVM Visualization Tool
-CS497rej Spring 2004 term project
-Team members: Misha Brukman, Tanya Brethour, Brian Gaeke
-
-The Low Level Virtual Machine (LLVM) is a new compiler infrastructure that
-uses a typed, three-address low-level intermediate code representation for
-programs written in higher-level languages, making optimizations possible
-across the entire lifetime of a program: at compile time, link time,
-install time, runtime, and idle time.
-
-Our main goal in this project is to build a tool that can be used
-to visualize the effects of transformations written in the LLVM
-framework. Compilation units in LLVM have a simple, hierarchical structure:
-a Module contains Functions, which contain BasicBlocks, which contain
-Instructions. At the lowest level of this hierarchy, Instructions may
-reference other BasicBlocks (with branches) or Functions (with calls),
-making the control-flow graphs and call graphs explicit. Our first task
-is to develop an interactive browser for these graphs and hierarchies.
+LLVM-TV: LLVM Transformation Visualizer
+Written by: Misha Brukman, Tanya Brethour, and Brian Gaeke
+
+LLVM-TV is a tool that can be used to visualize the effects of transformations
+written in the LLVM framework. Compilation units in LLVM have a simple,
+hierarchical structure: a Module contains Functions, which contain BasicBlocks,
+which contain Instructions. At the lowest level of this hierarchy, Instructions
+may reference other BasicBlocks (with branches) or Functions (with calls),
+making the control-flow graphs and call graphs explicit. Our first task is to
+develop an interactive browser for these graphs and hierarchies.
Our target audience is compiler developers working within the LLVM framework,
who are trying to understand and debug transformations.
-For this semester, our visualization tool will not reflect dynamic updates
-to the code; rather, it will reflect the state of a compilation unit at
+Currently, the visualization tool will not reflect dynamic updates
+to the code; rather, it reflects the state of a compilation unit at
a single instant in time, between transformations. Future work should
extend this tool to reflect a dynamically updating view of the program as
a transformation is modifying the code.
-We intend to implement this tool in C++, because it will dramatically
-simplify the task of integrating it with the LLVM compiler framework
-(which itself is 150,000 lines of C++). We intend to use wxWidgets as our
-GUI toolkit.
-
How to compile:
-% ./configure --with-llvmsrc=[path] --with-llvmobj=[path]
- If you're building in llvm/projects/llvm-tv, then you don't need
- to specify these --with options.
-% cd lib/wxwindows
-% ./configure --enable-debug --prefix=`pwd`
+1. You must have wxWindows installed on your system, and wx-config has to be
+ in your path.
+
Make absolutely sure that wxwindows's configure picks up the same
C++ compiler that you're using for llvm. Otherwise, you may get
weird link errors when trying to link the llvm-tv tool.
-% cd ../../
+
+2. Configure and compile llvm-tv:
+
+% cd path/to/llvm-tv
+% ./configure --with-llvmsrc=[path] --with-llvmobj=[path]
+ If you're building in llvm/projects/llvm-tv, then you don't need
+ to specify these --with options.
% gmake
Example of usage:
More information about the llvm-commits
mailing list