英文原文:https://llvm.org/docs/CodeGenerator.html
详细请看知乎翻译:https://zhuanlan.zhihu.com/p/301653651
个人简短笔记如下:
- Introduction
- Target description classes
- Machine code description classes
- The “MC” Layer
- Target-independent code generation algorithms
- Instruction Selection
- Introduction to SelectionDAGs
- SelectionDAG Instruction Selection Process
- Initial SelectionDAG Construction
- SelectionDAG LegalizeTypes Phase
- SelectionDAG Legalize Phase
- SelectionDAG Optimization Phase: the DAG Combiner
- SelectionDAG Select Phase
- SelectionDAG Scheduling and Formation Phase
- Future directions for the SelectionDAG
- SSA-based Machine Code Optimizations
- Live Intervals
- Register Allocation
- Prolog/Epilog Code Insertion
- Late Machine Code Optimizations
- Code Emission
- VLIW Packetizer
- Instruction Selection
- Implementing a Native Assembler
- Target-specific Implementation Notes