도서상세보기

도서명 제대로 배우는 LLVM 코어 라이브러리 LLVM 필수 기능 및 고급 툴 개발을 위한 사용법
저자 부르노 카도소 로페즈 , 라파엘 오일러
출판사 비제이퍼블릭
출판일 2017-04-24
정가 25,000원
ISBN 9791186697320
수량
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 정적 분석기의 비교
- 정적 분석기의 테스트
- 자신의 체
LLVM 필수 기능 및 고급 툴 개발을 위한 사용법
LLVM은 최첨단 컴파일러 기술 프레임 워크다. 다양한 라이브러리로 쉽게 확장되도록 설계되었으며 컴파일러에 대한 원활한 경험을 제공하며 새로 접하는 개발자들이 쉽게 학습할 수 있도록 해준다.
이 책에서 배우게 될 내용
- Clang 툴을 포함한 소스 프로젝트, 정적 분석기, Compiler-RT, LLDB, DragonEgg, libc++ 및 LLVM 테스트 슈트를 포함한 외부 LLVM 오픈 소스 프로젝트의 설정, 빌드, 그리고 설치
- 라이브러리와 독립 실행형 툴 ...
LLVM 필수 기능 및 고급 툴 개발을 위한 사용법
LLVM은 최첨단 컴파일러 기술 프레임 워크다. 다양한 라이브러리로 쉽게 확장되도록 설계되었으며 컴파일러에 대한 원활한 경험을 제공하며 새로 접하는 개발자들이 쉽게 학습할 수 있도록 해준다.
이 책에서 배우게 될 내용
- Clang 툴을 포함한 소스 프로젝트, 정적 분석기, Compiler-RT, LLDB, DragonEgg, libc++ 및 LLVM 테스트 슈트를 포함한 외부 LLVM 오픈 소스 프로젝트의 설정, 빌드, 그리고 설치
- 라이브러리와 독립 실행형 툴 사이의 LLVM 라이브러리 설계와 상호 작용 이해
- Clang 프론트엔드가 lexer, 파서, 그리고 구문 분석을 사용하는 방법을 배움으로써 소스 코드 처리 단계에 대한 지식을 향상시킨다.
- 커스텀 IR 분석과 변환 패스를 작성하는 동안 LLVM IR 파일을 사용하여 조작, 생성 및 재생한다.
- LLVM JIT(Just-In-Time 컴파일 기능을 사용하기 위한 툴을 작성한다.
- 정적 분석기를 사용하여 버그를 찾고 코드를 개선한다.
- LibClang, LibTooling, 그리고 Clang 플러그인 인터페이스를 사용하여 소스 코드 분석과 변환 툴을 설계한다.
이 책의 대상 독자
이 책은 LLVM 프레임워크를 배우고 싶은 사람들, 컴퓨터 사이언스 관련 학생 및 컴파일러 엔지니어를 대상으로 한다