This README outlines the steps to compile and build the LLVM pass for branch and pointer profiling on UNIX systems.
Learn more here.
- LLVM >= 16.0 installed
 - CMake installed
 - C++ compiler (e.g., g++, clang)
 
Clone the repo first if you haven't already:
git clone https://github.com/ncsu-csc512-project/part2-dev.gitNavigate to the root directory of the repo and run the following commands to build the pass:
export LLVM_DIR= # replace with your LLVM installation directory
mkdir build
cd build
cmake .. 
make
After building, you should have a libDefUseAnalysisPass.soand libInputDetectionPass.so  file in your build directory. To run the pass in the tests file, use LLVM's opt tool as follows:
./run_tests.sh
Replace complex_branch_test.bc with the LLVM IR file you want to analyze.