Technical requirements
Similar to the other chapters in which we built an LLVM backend, you need to develop directly in the LLVM code base (or a fork of it). As such, you will need the same tools that we presented in Chapter 1.
Additionally, for all the snippets presented in this chapter, you will find the actual implementation in the GitHub repository at https://github.com/PacktPublishing/LLVM-Code-Generation-by-example. We call this repository the companion repository in the remainder of the chapter.
For each change presented in this chapter, we highlight a Git tag that you can use to find the full snippet in the companion repository.
If you are unfamiliar with Git tags, refer to Chapter 9 for a quick explanation of what you can do with them.
Let us start with an overview of how stack lowering works in LLVM.