IR코드의 구성요소 (Module, Function, Block, Instruction)
https://blog.naver.com/junwha0511/222190349558 앞선 글에서, Clang이 C++을 IR코드를 번역하면 여러개의 LLVM Pass가 IR코드에 추가적인 부분을 적용한다고 설명했었다.LLVM Pass를 작성하기 위해서는, 먼저 IR코드의 구조를 파악해야 한다.IR 코드의 구성요소는 Module, Function, Block, Instruction, 네가지로 구성된다.위 그림에서 보이는 것과 같이 프로그램은 여러 모듈(Module)로 구성되어 있고, 각 모듈 내부에는 여러 함수(Function)가 있으며, 각 함수 내부에는 여러 블록(Block)이 있고, 각 블록의 내부에는 여러 명령(Instruction)이 존재한다.1. 모듈(Module)모듈은 한 파일의 모든 정보..
2021. 1. 26.