고급 컴파일러: 자기 주도 온라인 코스

발행: (2026년 6월 18일 PM 08:04 GMT+9)
6 분 소요

출처: 해커 뉴스

CS 6120: 고급 컴파일러: 셀프가이드 온라인 강좌

CS 6120은 프로그래밍 언어 구현을 다루는 박사 수준의 코넬 CS 교수인 애드리언 샘프슨 과정입니다.
이 과목은 중간 표현, 데이터 흐름, 그리고 “전통적인” 최적화와 같은 보편 컴파일러 주제를 다루며, 병렬화, JIT 컴파일레이션, 가비지 컬렉션과 같은 연구 지향적인 주제도 포함합니다.
과제는 논문 읽기와 오픈소스 해킹 과제를 포함하며, 이 과제들은 LLVM이 수업 전용 교육용 IR을 사용합니다.

이 페이지는 상상의 대학에서 이 과정을 수강하는 커리큘럼을 네 학점(성적 미반영)으로 정리한 것입니다.
수업과 논문으로 구성된 선형 타임라인이 있습니다.
각 수업에는 영상과 작성된 노트가 있으며, 일부는 구현 과제가 포함되어 있습니다.
과제는 모두 개방형이며, 다양한 정도에서 열린 형태로 구성되어 있으며, 실제 코드로 변환함으로써 추상적인 개념에 대한 이해를 강화하도록 설계되었습니다.
이 순서는 영상 시청과 논문 읽기를 적절히 섞는 것을 제안하는 순서입니다.

실제 CS 6120과 차이점으로는 과제 마감일을 무시할 수 있고, Zulip 토론 스레드에 참여할 수 없다는 점이 있습니다.
실제 CS 6120은 학기 말 프로젝트가 있지만, 셀프가이드 버전에서는 컴파일의 마법을 통해 세상을 바꾸는 과제를 수행합니다.
강사는 영상 제작 초보라서 초기 수업의 품질이 낮을 수 있으니 양해 부탁드립니다.

CS 6120은 오픈소스이며 GitHub에 게시되어 있으니 문제가 발견되면 보고해 주세요.
과정을 마치면 이 피드백 양식을 작성해 주세요.

[수업 1: 소개 및 개요](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/1/)

환영 및 개요

동영상

아무것도 명백히 잘못하지 않은 채 잘못된 데이터 생성!

Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter F. Sweeney. ASPLOS 2009.

SIGPLAN 실험 평가 가이드라인

[수업 2: 프로그램 표현](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/2/)

프로그램 표현

프로그램 표현

Bril 시작하기

[수업 3: 지역 분석 및 최적화](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/3/)

지역 분석 및 최적화

간단한 사소한 코드 제거

지역 값 할당

[수업 4: 데이터 흐름](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/4/)

데이터 흐름

데이터 흐름

구현 과제

[수업 5: 전체 분석](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/5/)

전체 분석

전체 분석 및 최적화

[수업 6: 정적 단일 할당](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/6/)

정적 단일 할당

정적 단일 할당

[수업 7:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/7/)

LLVM

LLVM 소개

LLVM 패스 작성

[수업 8:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/8/)

루프 최적화

동영상

[수업 9:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/9/)

인터프로시널 분석

동영상

[수업 10:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/10/)

별칭 분석

동영상

[수업 11:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/11/)

메모리 관리

동영상

프로토타입 기반 동적 타입 객체 지향 언어 SELF의 효율적인 구현

동적 언어용 트레이스 기반 JIT 타입 특화

[수업 12:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/12/)

동적 컴파일러

동적 컴파일러

추측을 통한 트레이싱

슈퍼옵티마이저: 가장 작은 프로그램 살펴보기

[수업 13:](https://www.cs.cornell.edu/courses/cs6120/2025fa/lesson/13/)

동시성과 병렬성

동영상

라이브러리로 구현할 수 없는 스레드

멀티미디어 명령 집합을 이용한 슈퍼워드 수준 병렬성

결정적 병렬 자바를 위한 타입과 효과 시스템

0 조회
Back to Blog

관련 글

더 보기 »

오픈클로에서 이전

hermes claw migrate imports your OpenClaw or legacy Clawdbot/Moldbot setup into Hermes. This guide covers exactly what gets migrated, the config key mappings, a...