Summary
In this chapter, you discovered the concept of passes and pass pipelines. You learned the difference between passes and analyses and the different scopes of IR they can operate on. You were able to get firsthand experience in implementing your own pass and pass pipeline. This knowledge and experience are the backbone of how LLVM-based compilers are traditionally built.
You also learned how to leverage the logging capabilities that the LLVM infrastructure has to offer with respect to the structure of your pass pipeline and its profiling information and saw how to navigate this information and act based on it.
Before you get started with the next chapter on TableGen, feel free to challenge yourself with the quiz below!