Skip to content

A GUI written in Java 8 + Swing; Comes with a basic text editor, ability to select optimizations, generate and view CFG, dominator trees and post-dominator trees, and more!

License

Notifications You must be signed in to change notification settings

LouisJenkinsCS/LLVM-Simple-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLVM GUI

This tool allows you to run simple C programs in a code editor, select an order of optimizations, and even view the control-flow-graph, dominator tree, or the post-dominator tree. This is a pedagogical tool that has been adopted from the GUI used in my LLVM-JVM project. This has been modified to run C code rather than requiring the LLVM-JVM to compile Java down to Bytecode and then down to LLVM IR.

Build Instructions

Dependencies

  • clang
  • llvm

Build from Release

'java -jar LLVM-Simple-GUI.jar [filename]' where 'filename' is an optional C file.

Build from Source

Advised to use NetBeans, as no Makefile will be provided!

What does it do?

Includes a Code Editor with basic Syntax Highlighting!

CodeEditor

See the CFG, DOM Tree, and POSTDOM Tree!

CFG DOM POSTDOM

Select from various optimizations

OptimizationPanel

See Before-And-After Transformations!

CFG After-Optimization

View Basic Block Headers Only for Larger Functions!

CFG Header DOM Header POSTDOM Header

About

A GUI written in Java 8 + Swing; Comes with a basic text editor, ability to select optimizations, generate and view CFG, dominator trees and post-dominator trees, and more!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages