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

Interacting with the compiler driver


A compiler driver is similar to the clerk at a burger place who interfaces with you, recognizes your order, passes it to the backend that builds your burger, and then delivers it back to you with coke and perhaps some ketchup sachets, thereby completing your order. The driver is responsible for integrating all necessary libraries and tools in order to provide the user with a friendlier experience, freeing the user from the need to use individual compiler stages such as the frontend, backend, assembler, and linker. Once you feed your program source code to a compiler driver, it can generate an executable. In LLVM and Clang, the compiler driver is the clang tool.

Consider the simple C program, hello.c:

#include <stdio.h>

int main() {
  printf("Hello, World!\n");
  return 0;
}

To generate an executable for this simple program, use the following command:

$ clang hello.c –o hello

Note

Use instructions from Chapter 1, Build and Install LLVM, to obtain a...