- Ivy Xie
- Cindy Nguyen
- Adam Streff
- 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
- 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
F5to 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+PorCmd+Shift+Pon 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.