Overview
Dive into the capabilities of LLVM, a leading framework for constructing compilers and similar tools. In this book, you'll explore LLVM's components and tutorials while learning pragmatic techniques. By mastering LLVM, you'll be able to create tools like custom compilers, analyzers, and performance optimizers.
What this Book will help me do
- Understand and work with LLVM's source build system to optimize build efficiency.
- Develop skills to create custom plugins for Clang and extend its functionalities.
- Learn to inspect, analyze, and modify LLVM IR to build optimization and transformation tools.
- Explore LLVM's LIT framework for running custom tests tailored to your development needs.
- Implement profile-guided optimizations and custom sanitizers using LLVM's utilities.
Author(s)
Min-Yih Hsu is an experienced software engineer with a deep understanding of compiler technologies and the LLVM framework. With firsthand experience creating real-world applications using LLVM, Min-Yih brings practical insights and thorough explanations to the table. His teaching approach emphasizes clarity and applicability, making this book an excellent resource for developers at various levels of expertise.
Who is it for?
This book is designed for software engineers, programming language enthusiasts, and academic researchers who want to deepen their understanding of LLVM. If you are building or enhancing tools like compilers or source analyzers, have practical use cases for LLVM, or wish to optimize programs with sophisticated backends, this book caters to your goals. Suitable for all levels of LLVM experience, readers will find actionable guidance and examples to advance their projects efficiently.