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.