第15周 星期二 第2大节
- 视频:
screen_编译原理与设计_第15周_星期二_第2大节.mp4 - 字幕:
transcripts/第15周_星期二_第2大节.srt
时间轴
02:18课堂安排:倒数第二节,下节最后一节03:07⚠️ 7月3日考试03:12乐学作业/测验/实验按时完成(系统自动计分)04:55到达定值数据流方程详解:in/out/gen/kill08:56out = (in - kill) ∪ gen; in = 前驱out的并集13:19四基本块的gen(kill) → 迭代求in/out19:07示例迭代计算24:59UD链在循环优化中的用途25:21可用表达式数据流方程(会合运算符为交集)31:46活跃变量数据流方程(方向与控制流相反,后→前)34:01数据流分析为循环优化做准备35:31循环优化四种类型:①代码外提 ②强度削弱 ③归纳变量删除 ④循环展开合并36:15代码外提—前置节点概念38:25代码外提算法:不变运算判定(常数/循环外定值)40:47完整示例:基本块划分→流图→回边→外提42:57不变运算查找算法51:00不变运算算法三个条件详解58:29多基本块外提示例(A=1、A=2顺序问题)59:50代码外提两个大条件01:11:43条件二:A离开循环后不再活跃01:14:42强度削弱和删除归纳变量01:18:02基本归纳变量和归纳变量定义01:19:51查找归纳变量算法:三元组表示(I, C, D)01:29:39向量内积强度削弱完整示例01:43:55删除归纳变量算法01:45:38另一个循环优化示例01:54:55优化效率与代价矛盾01:56:21下课+准备讲作业题02:00:15作业题讲解:正规式→NFA→DFA→转换序列02:05:57作业题讲解:文法类型判断、语言描述、最左/最右推导
关键点
考勤/签到/小测
无。
作业
03:12乐学作业/测验/实验必须按时完成(系统自动计分,老师不干预)02:00:15讲解第一次作业(正规式→NFA→DFA)02:05:57讲解第二次作业(文法类型/最左最右推导)02:06:12⚠️ 第一次作业常见错误:NFA转换序列应写状态序列而非状态集合序列02:06:17第二次作业错误较多(小题多)02:26:14不要迷信往年答案(无官方答案,学生整理的)
考试/复习重点
- ⚠️
03:077月3日考试 01:56:21代码生成部分不考- 数据流方程推导要掌握:out=(in-kill)∪gen(
08:56) - 代码外提两个大条件要理解(
59:50) - 强度削弱:乘法→加法替代(
01:14:42) - 归纳变量删除算法(
01:43:55) - 概念题多为填空题(
02:28:39) 02:06:1202:06:17作业题的常见错误要回看
其他需要回看的片段
22:50-24:07in/out迭代计算示例27:46-31:42可用表达式示例(B1的4×I在B3是否可用)40:47-42:57代码外提完整示例(回边B3→B2)01:03:30-01:11:43代码外提条件一的三个反例01:29:39-01:35:57向量内积强度削弱完整示例02:00:15-02:26:37作业题讲解(考试重要参考)
省流
数据流方程+循环优化核心:代码外提/强度削弱/归纳变量删除。⚠️ 7月3日考试!代码生成不考。后半节讲解作业题(考试重要参考)。概念题为填空题,大题需掌握常规题型。