Commit f268905c authored by 李晓奇's avatar 李晓奇

Merge branch 'master' of 202.38.79.174:compiler_staff/2022fall-compiler_cminus

parents 92ddf834 a85b2c88
......@@ -293,6 +293,12 @@ GVN 通过数据流分析来检测冗余的变量和计算,通过替换和死
我们会在测试样例中对这三点进行考察。
**case 考察范围说明:**在 Lab4-2 的公开 case 与隐藏 case 中,以下情况不会出现:
1. 不会对加法乘法运算的交换律,结合律造成的冗余进行考察。
2. 不会对访存指令之间的等价性进行考察。
3. 对于 value phi function 的冗余仅仅考察`phi(a+b, c+d)``phi(a,c)+phi(b,d)`之间的冗余。(其中 + 代表四则二元运算+ - * /,value phi function 上某一路径的常量传播可以不考虑,例如 case 不会涉及如下情况冗余`phi(0, c+d)``phi(0,c)+phi(0,d)`
**注**:我们为大家提供了冗余删除的函数 `GVN::replace_cc_members` ,只需要正确填充在 `GVN` 类中的 `pout` 变量,我们的替换逻辑将会根据每个 bb 的 pout 自行使用`CongruenceClass``leader_` 成员来替换在此 bb 内与其等价其他指令。
### 3.2 GVN 辅助类
......@@ -559,6 +565,12 @@ root@3fd22a9ed627:/labs/2022fall-compiler_cminus-taversion/tests/4-ir-opt#
final_grade = 0, x > 7 # 这一条严格执行,请对自己负责
```
=======
* `Deadline`: 2023/01/14 23:59:59 (北京标准时间,UTC+8)
本次实验不接受补交
* 关于抄袭和雷同
经过助教和老师判定属于实验抄袭或雷同情况,所有参与方一律零分,不接受任何解释和反驳(严禁对开源代码或者其他同学代码的直接搬运)。
如有任何问题,欢迎提issue进行批判指正。
......@@ -13,14 +13,17 @@
- [report](./Reports/2-ir-gen-warmup/report.md)
* [lab3](./Documentations/3-ir-gen/)
+ DDL:2022-11-13 23:59:59 (UTC+8)
- [report](./Reports/3-ir-gen/report.md)
* [lab4.1](./Documentations/4.1-ssa/)
+ DDL:2022-11-27 23:59:59 (UTC+8)
- [report](./Reports/4.1-ssa/report.md)
* [lab4.2](./Documentations/4.2-gvn/)
+ DDL: 2022-12-12 23:59:59 (UTC+8)
- [report](./Reports/4.2-gvn/report.md)
......
......@@ -9,12 +9,12 @@ int main(void) {
int e;
int f;
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
f = 0;
a = 2;
b = 2;
c = 2;
d = 2;
e = 2;
f = 2;
i = 1;
while (i < 10) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment