Getting Started with LLVM Core Libraries
上QQ阅读APP看书,第一时间看更新

Chapter 3. Tools and Design

The LLVM project consists of several libraries and tools that, together, make a large compiler infrastructure. A careful design is the key to connecting all these pieces together. Throughout, LLVM emphasizes the philosophy that everything is a library, leaving a relatively small amount of code that is not immediately reusable and is exclusive of a particular tool. Still, a large number of tools allows the user to exercise the libraries from a command terminal in many ways. In this chapter, we will cover the following topics:

  • An overview and design of LLVM core libraries
  • How the compiler driver works
  • Beyond the compiler driver: meeting LLVM intermediary tools
  • How to write your first LLVM tool
  • General advice on navigating the LLVM source code