Getting Started with LLVM Core Libraries: Get to Grips With Llvm Essentials and Use the Core Libraries to Build Advanced Tools
A**N
Good comprehensive book
Clear explamation of tools and concepts. Detailed instructions. I recommend it for ppl interested in LLVM and compiler development. Amazon requires the review to be long, apparently it does not like brevity.
E**O
Great for the beginners and developers
This book is a great, practical manual of LLVM project. It covers LLVM core source code with the most important external projects. It doesn't cover the source code line by line, but lists the most important classes and explains their role in the compiler tool chain. The book explains LLVM infrastructure starting from very abstract compiler concepts. Therefore it is a great piece of literature for people who want to get an overview of basics of compilers, but do not have a time to read details. The book starts with instructions on how to install the LLVM. It then follows the organization of LLVM itself: from the front end, over LLVM IR, to back-end. In each of these it briefly explains associated concept of compiler. After explaining certain concept, it fast dives into the source code, explaining how things are programmed in LLVM. Such approach is great for developers who want to use LLVM infrastructure for developing external tools. This book demonstrates how certain libraries can be reused from LLVM in order to start developing own tools. I really like simple instructions for installing the LLVM, as well as the explanation of the installation and usage of external LLVM projects such as DragonEgg and Compiler-RT. LLVM with Clang has a big database of tools and options which can be used with these tools. This book is doing an excellent job on listing the most important tools/options with examples and command line code. LLVM IR is explained in details. Also, LLVM back-end and LLVM JIT are explained with nice amount of details.The book contains fair amount of block diagrams which illustrate the LLVM and compiler procedures in a simple, but a clear manner. It is well structured, for this amount of details. It also contains useful links for additional explanations and projects. Authors have gathered a lot of empirical knowledge and sets of best-use practice. For sure, this will make your start with LLVM faster and straightforward as it can be.If you are starting with LLVM, or you are a developer who is using LLVM and wants to develop own tools based on LLVM, this is a definitely book for you. High level concept explanations are brief, code instructions are detailed and are mostly explained with examples. Explanations are made for MAC, Linux and Windows.LLVM and Clang still have some challenges when it comes to their functioning on Windows. Unfortunately, for some problems that I have encountered using LLVM so far, I didn't find explanations in this book (e.g. trying to install the LLVM from command line, using c++ libraries, etc.). While LLVM JIT is explained in details, LLVM interpreter is only mentioned. When basic compiler concepts are explained, there is a quick jump to LLVM concepts and code. However, I have a feeling that LLVM concepts are explained with coding in mind. For developers, this is great. For people who are interested in architecture, this might not be enough.
A**R
but EXCELLENT material if you are new to LLVM
Slightly dated, but EXCELLENT material if you are new to LLVM. I'm pretty sure this is a handy book to have by your side, even if you already are working on LLVM.
C**U
Practical guides on getting familiar with LLVM code
With the rapid growth of LLVM and the code base getting bigger and bigger, a book like this can really help the new comers to quickly get the practical guides, to make you more comfortable and get you prepared to dig deeper into the source, and then to be able to hack into the source to produce something useful.Also, each of the later chapters focuses on a specific topic/module and they all followed the same style: 1) the general introduction about the design and how the pieces work 2) introduce the organization of the related code 3) some practical examples to code something interesting based on things learnt during 1) & 2). Personally, I found this kind of style is really efficient for getting familiar with a relatively big code base.
O**I
Five Stars
If you want to learn about LLVM and CLANG - This is the only book...
C**I
Good introduction llvm book
This is a good book to start with llvm.When I started working on llvm, I spent a lot of time finding documents on the llvm dev site. Unfortunately, some of the documents were out of date and poorly organized. This book provides the overview of llvm and gives you many useful step by step tutorial, which is really helpful for those who never work on llvm before. However, as the title states, this is to get started with llvm, and if you really want to learn llvm, you have to dive into the code.
M**M
Five Stars
Very useful book.
M**N
Five Stars
Great book!
K**Z
Outdated and not much information provided
The book spends way to much time on explaining on how to build clang / llvm while acknowledging that at the point of writing the build system is undergoing change. Now the llvms projects page does a much better job at this, why is this in the book? Why is it occupying so much of the book? In total this has little substance and was a total waste of money.
J**I
poorly documented
at this price, you can start to works instead of copy/paste from web....
S**A
Five Stars
Very nicely written. Found it very useful.
Trustpilot
1 week ago
2 weeks ago