Skip to content

ivylx/cfgvisualizer

Repository files navigation

CIS547 Project - Profiling Visualization

Members

  • Ivy Xie
  • Cindy Nguyen
  • Adam Streff

Project Structure

  • src: contains all source code for our project which includes LLVM Pass code (ProfileInstrument.cpp), Python scripts for analyzing the logs and updating the DOT files, and the VSCode Extension code (extension.ts)
  • lib: contains the runtime library for the LLVM Pass
  • test: a suite of test programs

Get up and running straight away

  • Clone our repo and open in a VSCode Dev Container to install required dependencies.
  • From the terminal, navigate to the project directory, then run mkdir build && cd build && cmake .. && make.
  • Press F5 to open a new window with this extension loaded. If that doesn't work, go to the VSCode Debug tab and click the "Run Extension" option from the dropdown and then click the green arrow.
  • Once in the Extension Host window, open a test C file from /[project-root]/test.
  • Open the command palette by pressing (Ctrl+Shift+P or Cmd+Shift+P on Mac).
  • Select "Visualize Control Flow: Run and Visualize Open File" in the command palette.
  • Follow the on-screen instruction to run the program with specified input.
  • You will then see two panels with colored versions of the Control Flow Graphs. One will be for memory usage and the other for run time. Redder blocks mean higher memory usage/longer run time, and bluer means the opposite.

About

CFG visualizer VSCode Extension Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •