Getting Started with LLVM
In this part, we start with an introduction to the LLVM ecosystem, its community, and the various parts that make up the LLVM infrastructure.
This part assumes that you have no prior experience with LLVM and little to no experience with compilers.
More specifically, in this part, you will learn the following:
- How to set up your environment to build and test the different projects that the LLVM infrastructure offers
- How to interact with the LLVM community and, in particular, how to seek help and contribute
- About the basic concepts used in compilers and how to manipulate them through the LLVM application programming interfaces (APIs)
- How to write your first optimization pass and the things to consider while optimizing your program
- How to build and customize your optimization pipeline
- How TableGen, LLVM’s domain-specific language (DSL), fits into the LLVM infrastructure
By the end of this part, you will have a complete picture of the overall structure of the LLVM infrastructure and will be ready to dive into its inner workings.
This part of the book includes the following chapters:
- Chapter 1, Building LLVM and Understanding the Directory Structure
- Chapter 2, Contributing to LLVM
- Chapter 3, Compiler Basics and How They Map to the LLVM APIs
- Chapter 4, Writing Your First Optimization
- Chapter 5, Dealing with the Pass Managers
- Chapter 6, TableGen - The LLVM Swiss Army Knife for Modeling