피드로 돌아가기
CS 6120: 고급 컴파일러 자기주도 온라인 강좌 (2020)
GeekNewsGeekNews
Infrastructure

CS 6120: 고급 컴파일러 자기주도 온라인 강좌 (2020)

LLVM 및 Bril 기반 최적화 컴파일러 백엔드 설계 및 구현 과정

neo2026년 6월 20일9advanced

Context

전통적인 컴파일러 교육이 Frontend의 구문 분석에 치중되어 Backend의 최적화 및 코드 생성 과정에 대한 학습 공백이 존재함. 특히 고성능 런타임을 위한 최적화 기법과 메모리 관리 모델의 유기적 연결을 다루는 심화 과정의 필요성이 제기됨.

Technical Solution

  • LLVM 및 교육용 IR인 Bril을 활용하여 추상적 컴파일러 개념을 실제 코드로 구체화하는 실습 구조 설계
  • Local 및 Global Analysis를 통한 Data Flow 분석과 Static Single Assignment(SSA) 형태의 중간 표현 최적화 구현
  • Alias Analysis 및 Memory Management 기법을 통한 메모리 접근 효율성 및 가비지 컬렉션 메커니즘 최적화
  • Trace-based Compilation의 이론적 학습 및 Type Feedback, Speculative Execution, Deoptimization을 통한 Dynamic Compiler 설계 원리 탐구
  • Concurrency 및 Parallelism 기법을 적용하여 컴파일 속도 및 실행 효율을 극대화하는 Fast Compiler 구조 분석

1. 최적화 설계 시 SSA(Static Single Assignment) 형태로 IR을 변환하여 데이터 흐름 분석의 복잡도를 낮추었는지 확인

2. Dynamic Compiler 도입 시 단순 트레이싱보다는 Type Feedback과 Deoptimization 전략을 포함한 계층형 구조 검토

3. 메모리 최적화를 위해 Alias Analysis를 통한 포인터 분석 및 메모리 레이아웃 최적화 적용 여부 검증

4. 고성능 백엔드 구현 시 LLVM과 같은 표준 인프라를 활용하여 최적화 패스(Pass)를 모듈화하여 설계

원문 읽기