@ -12,8 +12,7 @@ Lab2 的目标是在该示例基础上扩展语义覆盖范围,逐步把更多
2. 理解当前语法树 -> IR 的最小实现流程。
3. 在现有框架上扩展 IR 生成能力,使其覆盖课程要求的Sysy语法。
## 3. 当前代码框架(与 Lab2 直接相关)
## 3. 当前代码框架
1. IR 定义与打印
- `include/ir/IR.h`
@ -13,7 +13,7 @@ Lab3 的目标是在该示例基础上扩展后端语义覆盖范围,逐步把
2. 理解当前 IR -> MIR -> 汇编输出的最小实现流程。
3. 在现有框架上扩展后端代码生成能力,使其覆盖课程要求的 SysY 语义。
## 3. 当前代码框架(与 Lab3 直接相关)
1. MIR 定义与目标相关抽象
- `include/mir/MIR.h`
@ -18,7 +18,7 @@ Lab4 的目标是在 Lab3 示例基础上,把“固定寄存器 + 栈槽”的
7. 图着色寄存器分配与线性扫描寄存器分配均可作为实现路线,同学可自行选择其中一种完成;后端优化部分也不限定具体实现方式,只要求功能正确、收益明确。
8. 在 `test/test_case` 提供的全部测试用例上验证正确性,并在保证功能正确的前提下尽量减少冗余 spill/reload、无效拷贝、冗余访存与低效机器指令,提升生成代码质量。
## 3. 当前代码框架(与 Lab4 直接相关)
1. MIR 定义与寄存器相关抽象
@ -109,7 +109,7 @@ use-def(或 def-use)描述的是“值在哪里被定义、又在哪里被
---
## 5. 当前代码框架(与 Lab5 相关)
## 5. 当前代码框架
1. IR 核心
@ -38,7 +38,7 @@ Lab6 的目标是在 Lab5 基本标量优化之后,面向“循环密集型代
## 4. 当前代码框架(与 Lab6 相关)
## 4. 当前代码框架
1. IR 与分析