


전단부에서 넘겨받은 GIMPLE Tree를 SSA(Static Single Assignment)형태로 변환 → 아키텍처 비종속적인 최적화를 수행 → RTL(Register Transfer Language: 고급 언어와 어셈블리 언어의 중간 형태)을 생성
아키텍처 비종속적인 최적화란? 서로 다른 CPU 아키텍쳐에 구애받지 않고 공통적으로 수행할 수 있는 최적화. 중단부에서는 SSA기반 최적화를 수행.
SSA기반 최적화
지역 최적화, 전역 최적화, 루프 최적화로 나눌 수 있다.
최적화가 왜 중요한가? 프로그램이 한 번 컴파일 되고 나면 다시 컴파일 하기 전까지 변경이 불가능하기 때문에 최적화를 수행함으로써 컴파일 시간이 오래 걸릴지라도 프로그램의 수행 속도를 향상시켜 전체 시스템 성능의 효율을 지속적으로 높여줌
