Introduction
After optimizing the LLVM IR, it needs to be converted into machine instructions for execution. The machine-independent code generator interface gives an abstract layer that helps convert IR into machine instructions. In this phase, the IR is converted into SelectionDAG (DAG stands for Directed Acyclic Graph). Various phases work on the nodes of SelectionDAG. This chapter describes the important phases in target-independent code generation.