Book Image

Getting started with LLVM core libraries

Book Image

Getting started with LLVM core libraries

Overview of this book

Table of Contents (17 chapters)
Getting Started with LLVM Core Libraries
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Introducing Clang


The Clang project is known as the official LLVM frontend for C, C++, and Objective-C. You can access the Clang official website at http://clang.llvm.org, and we cover Clang configuration, build, and install in Chapter 1, Build and Install LLVM.

Similar to the confusion over the name LLVM owing to its multiple meanings, Clang may also refer to up to three distinct entities:

  1. The frontend (implemented in Clang libraries).

  2. The compiler driver (implemented in the clang command and the Clang Driver library).

  3. The actual compiler (implemented in the clang -cc1 command). The compiler in clang -cc1 is not implemented solely with Clang libraries, but also makes extensive use of LLVM libraries to implement the middle- and backends of the compiler, as well as the integrated assembler.

In this chapter, we focus on Clang libraries and the C-family frontend for LLVM.

To understand how the driver and compiler work, we start by analyzing the command line invocation for the clang compiler driver...