CNUproject/코드 동일성 검사 도구
17_Python IR에 LLVM Pass 적용하기
YUMMMM
2023. 9. 11. 13:39
1. numba를 사용하여 .py 파일을 .ll 파일로 변경해준다.
numba pythonArray.py --dump-llvm pythonArray.ll
2. llvm-as를 사용하여 .ll 파일을 .bc 파일로 변경해준다.
sudo llvm-as pythonArray.ll -o result.bc

3. opt를 사용하여 패스를 적용해준다.
../build/bin/opt -load ../build/lib/NamePrinter.dylib -NamePrinter result.bc -o result_out.bc
이때 opt 경로를 지정해서 적용한다.

전에 사용했던 NamePrinter 패스를 적용하여 함수 이름이 출력되는 것을 확인할 수 있다.