第14周 星期二 第2大节

  • 视频:screen_编译原理与设计_第14周_星期二_第2大节.mp4
  • 字幕:transcripts/第14周_星期二_第2大节.srt

时间轴

  • 01:02 考试题型预告 + 基本块划分重要性(环环相扣)
  • 04:26 基本块划分规则详解(入口语句三种类型)
  • 08:17 控制流图绘制
  • 12:10 DAG构建回顾(4大步)
  • 22:32 DAG构建完整示例(T0=3.14, T1=2×T0…)
  • 29:53 DAG图 vs 控制流图区别总结
  • 31:42 转入循环优化
  • 33:50 循环定义:强连通子图 + 唯一入口节点
  • 35:32 多循环嵌套示例
  • 43:14 必经节点(dominance)定义
  • 44:45 必经节点集偏序性质(自反、传递、反对称)
  • 51:55 必经节点集迭代算法
  • 56:37 7节点必经节点迭代完整示例
  • 01:05:14 回边定义:A→B 且 B dominate A
  • 01:06:43 查找所有回边示例
  • 01:09:57 从回边找循环的栈算法
  • 01:18:47 复杂例题(9节点):必经节点集→回边→循环
  • 01:30:56 找循环三步总结
  • 01:32:07 局部优化局限性→引出全局数据流分析
  • 01:41:02 数据流分析概述
  • 01:45:27 概念:点(point)、定值点(definition point)、引用点(use point)
  • 01:50:37 到达定值定义
  • 01:55:48 UD链(引用定值链)定义
  • 01:59:49 DU链(定值引用链)定义
  • 02:06:56 活跃变量概念
  • 02:12:46 产生(generate)和注销(kill)概念
  • 02:14:55 数据流方向:前→后 vs 后→前
  • 02:17:01 到达定值数据流方程:in/out/gen/kill

关键点

考勤/签到/小测

无。

作业

无明确布置。

考试/复习重点

  • 01:02 代码优化部分很关键,按往年惯例70分试题中每部分对应一大题
  • ⚠️ 02:18 基本块画错后面所有题全错
  • 循环 = 强连通子图 + 唯一入口节点(两条件必须同时满足,42:03
  • 必经节点集迭代算法(51:55
  • 回边 = A→B 且 B dom A(01:05:14
  • 找循环三步:必经节点集 → 回边 → 循环(01:30:56
  • 数据流方程 out = (in - kill) ∪ gen(02:17:01

其他需要回看的片段

  • 22:32-28:10 DAG构建完整示例(含优化前后对比)
  • 35:32-42:11 多循环嵌套判定示例(易错点:2-4、2-3-4、4-6-7不是循环)
  • 56:37-01:05:13 7节点必经节点集迭代算法完整演练
  • 01:18:47-01:30:35 9节点控制流分析完整例题
  • 01:55:48-02:06:56 UD链/DU链综合示例

省流

循环优化核心:必经节点集→回边→循环查找,数据流分析入门(到达定值/UD链/DU链/活跃变量)。⚠️ 基本块画错全题错,必经节点迭代和回边判定要练熟。