[모각코][6회차결과] LLVM Pass

less than 1 minute read

모각코 6회차 결과

LLVM Pass tutorial

튜토리얼 따라하기

image

image

make 명령어를 이용하여 빌드하면, LLVMHello.so 모듈이 생성되고 linking된다.

llvm의 외부에서? 빌드하여 연결하기

llvm-pass-skeleton

llvm-pass-skeleton 을 클론하여 빌드해보았다. 먼저 프로젝트를 클론하고, 다음과 같이 빌드한다.

Build:

$ cd llvm-pass-skeleton
$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd ..

그러면 다음과 같은 결과물이 생성된다.

image

사용 가능한 so파일은 다음위치에 생성된다.

image

다음과 같이 사용한다. 참고로 skeleton은 출력이 없다. 실행됐다는 모습을 보이기 위해서 다른 pass를 사용하였다.

image

ModulePass 사용해보기

튜토리얼에는 functionPass만 사용했는데, 우리의 프로젝트에는 ModulePass가 주로 쓰일 예정이다. ModulePass를 사용해보았다.

image

코드는 위와 같고, Module.h를 inclue해야 사용할 수 있다. 일단 간단하게 getName만 사용해보았다. 다른 메소드는 아직 사용법을 잘 모르겠다. 실행결과는 다음과 같다.

image

Categories:

Updated: