이미 소장하고 있다면 판매해 보세요.
|
1장. LLVM의 빌드와 설치
- LLVM 버전의 이해 - 프리빌트 패키지 얻기 - 소스를 사용한 빌드 2장. 외부 프로젝트 - Clang extras의 소개 - DragonEgg 플러그인의 사용 3장. 툴과 디자인 - LLVM의 기본적인 설계 원칙과 역사에 대한 소개 - 오늘날의 LLVM의 이해 - 컴파일 드라이버와의 상효 작용 - 독립 툴의 사용 - LLVM 내부 설계 살펴보기 - 첫 번째 LLVM 프로젝트의 작성 - LLVM 소스 탐색 - 보편적 충고 4장. 프론트엔드 - Clang의 소개 - Clang을 이용한 프론트엔드 단계 학습하기 - 전체 코드 5장. LLVM 중간 표현 - IR 포멧을 다루기 위해 기본 툴 연습하기 - LLVM IR 언어 구문의 소개 - 커스텀 LLVM IR 생성기의 작성 - IR 레벨에서의 최적화 6장. 백엔드 - 백엔드 코드 구조의 학습 - 백엔드 라이브러리의 이해 - LLVM 백엔드를 위한 TableGen의 사용 방법에 대한 학습 - 명령어 선택 단계의 이해 - 스케줄러 - 머신 명령어 - 레지스터 할당 - 프롤로그와 에필로그 - 머신 코드 프레임워크의 이해 - 자신의 머신 패스 작성 7장. Just-In-Time 컴파일러 - LLVM JIT 엔진 기본기 익히기 - llvm::JIT 프레임워크에 대한 소개 - llvm::MCJIT 프레임워크에 대한 소개 - LLVM JIT 컴파일 툴의 사용 - 다른 리소스 8장. 크로스 플랫폼 컴파일 - GCC와 LLVM의 비교 - 타겟 트리플의 이해 - 툴체인의 준비 - Clang 커맨드 라인 인수를 사용한 크로스 컴파일 - Clang 크로스 컴파일러의 생성 - 자신만의 Clang 기반 크로스 컴파일러의 구축과 설치 - 테스트 - 추가 리소스 9장. Clang 정적 분석기 - 정적 분석기의 역할에 대한 이해 - 전통적인 경고와 Clang 정적 분석기의 비교 - 정적 분석기의 테스트 - 자신의 체커를 사용한 정적 분석기의 확장 - 추가 리소스 10장. LibTooling를 사용한 Clang Tools - 컴파일 커맨드 데이터베이스의 생성 - clang-tidy 툴 - 리팩토링 툴 - 자신의 툴 작성 - 콜백 작성하기 - 추가리소스 |
|
이 책은 처음 사용을 위해 LLVM 라이브러리, 툴과 외부 프로젝트에 대한 구성 방법, 구축 방법, 그리고 설치 방법을 보여준다. 다음으로 LLVM 디자인에 대해 소개하고 프론트엔드, IR, 백엔드, JIT 엔진, 크로스 컴파일 기능 그리고 플러그인 인터페이스와 같은 각각의 LLVM 컴파일러 단계를 통해 실제 컴파일러 동작 방법에 대해서도 소개한다. 다양한 예제와 소스 코드 조작들을 통해 LLVM 컴파일러 개발 환경에 대해 부드러우면서도 탄탄한 기반을 제공한다.
이 책의 대상 독자 이 책은 LLVM 프레임워크를 배우고 싶은 사람들, 컴퓨터 사이언스 관련 학생 및 컴파일러 엔지니어를 대상으로 한다. C++에 대한 배경 지식이 필요하며, 필수는 아니지만 적어도 약간의 컴파일러 이론에 대해서는 알고 있는 것이 좋다. LLVM에 대한 실질적인 소개를 제공하고 복잡한 시나리오를 피하고 있기 때문에 초보자든 컴파일러 전문가든 이 기술에 대해 흥미만 가지고 있다면 분명 여러분에게 적합할 것이다. |