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 ...

Get Getting Started with LLVM Core Libraries now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.