本期进入编译器代码生成:从指令选择、寄存器分配到指令排序,讲清 SSA 后删 phi、干涉图着色与溢出、JIT 线性扫描;再谈流水线停顿、乱序/顺序核心、代码布局、栈帧、调用约定、ABI 与红区,最后用窥孔优化清理死指令。因 NP 完全和不可判定,多数步骤只能靠启发式。下期交给汇编器和链接器生成机器码与可执行文件。
----------------------------------------------------------------
00:00:00 引言
00:00:59 目标架构与格式
00:02:47 代码生成概述
00:05:05 指令选择
00:07:01 广告:Brilliant
00:07:02 寄存器分配
00:09:37 指令排序
00:11:58 栈帧与调用约定
00:14:34 窥孔优化
00:15:59 结语
----------------------------------------------------------------
原标题:Handling Infinite Variables in a Compiler
原作者:Premature Abstraction
发布日期:2026-09-09
视频链接:https://www.youtube.com/watch?v=YlFYXewYJ8M