The following shows all the major steps associated with the compilation of any given langauge.

Compilers v/s Interpreters

LLVM and why do I care?

Understanding LLVM IR

As seen above the passes are where we optimize a current IR at hand.

We mostly do not have to care about Front End (parsing and analysis) and Back End (code generation). For most cases, we shall be mostly concerned about the Middle End with optimizations and writing passes.