Working with basic structures
In this section, you will learn about the prevalent structures used to represent a program. In other words, whatever you build with the LLVM infrastructure, chances are you will have to manipulate these structures.
Thanks to this knowledge, you will be able to build an intuition of which APIs hold which information and offer which capabilities for manipulating a program. Naturally, this is only the beginning, and you will sharpen your knowledge of the APIs as you progress through the book.
This introduction will help you get started with the LLVM code base and give you a thread to follow when starting to explore LLVM APIs on your own.
We follow a top-down approach. We start from the constructs with the largest logical scope and then progressively zoom in on concepts with narrower scopes. What this means is that when you see a concept not defined yet, it will be presented in the following section.
Module
A module is a container for...