# Lab4.2 实验报告 姓名 学号 ## 实验要求 请按照自己的理解,写明本次实验需要做什么 ## 实验难点 实验中遇到哪些挑战 ## 实验设计 实现思路,相应代码,优化前后的IR对比(举一个例子)并辅以简单说明 ### 思考题 1. 请简要分析你的算法复杂度 2. `std::shared_ptr`如果存在环形引用,则无法正确释放内存,你的 Expression 类是否存在 circular reference? 3. 尽管本次实验已经写了很多代码,但是在算法上和工程上仍然可以对 GVN 进行改进,请简述你的 GVN 实现可以改进的地方 ## 实验总结 此次实验有什么收获 ## 实验反馈(可选 不会评分) 对本次实验的建议