[모각코][6회차결과] LLVM Pass
모각코 6회차 결과
튜토리얼 따라하기
make 명령어를 이용하여 빌드하면, LLVMHello.so 모듈이 생성되고 linking된다.
llvm의 외부에서? 빌드하여 연결하기
llvm-pass-skeleton 을 클론하여 빌드해보았다. 먼저 프로젝트를 클론하고, 다음과 같이 빌드한다.
Build:
$ cd llvm-pass-skeleton
$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd ..
그러면 다음과 같은 결과물이 생성된다.
사용 가능한 so파일은 다음위치에 생성된다.
다음과 같이 사용한다. 참고로 skeleton은 출력이 없다. 실행됐다는 모습을 보이기 위해서 다른 pass를 사용하였다.
ModulePass 사용해보기
튜토리얼에는 functionPass만 사용했는데, 우리의 프로젝트에는 ModulePass가 주로 쓰일 예정이다. ModulePass를 사용해보았다.
코드는 위와 같고, Module.h를 inclue해야 사용할 수 있다. 일단 간단하게 getName만 사용해보았다. 다른 메소드는 아직 사용법을 잘 모르겠다. 실행결과는 다음과 같다.