이번 글은 제목처럼 IR(intermediate representation) 레벨에서 프로그램 내의 명령어를 삭제 또는 생성을 해보려한다. LLVM IR은 계층 구조로 프로그램을 관리하므로 반복문을 통해 특정 종류의 명령어에 접근 할 수 있다(ADD, SUB, DIV 등에 접근할 수 있으며 모르겠다면 이전 글 컴파일러 3을 참조 ). 이를 통해 instruction을 생성하도록 하겠다. 명령어 생성 LLVM에서 명령어를 생성하는 방법은 Create 함수를 이용하는 것이다. LLVM은 아래와 같이 수행할 명령어의 Operand들을(Value *s1, Value *s2) Create 함수의 매개변수로 요구한다. Operand에는 Value, Type 등의 형태가 될 수 있다. static BinaryOper..