Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 2.83 KB

File metadata and controls

53 lines (35 loc) · 2.83 KB

进阶优化

在该选做实验中,请自行选择优化Pass对IR进行优化,要求至少选择2个不同优化Pass。提交要求见提交要求小节

实验说明

请自行编写优化Pass并添加至PassMgr中以对IR进行优化,要求至少编写实现2种不同的优化。

源代码编写要求

每添加一个Pass,需要在../include/Optimize/../src/Optimize/中分别添加相应的.h.cpp文件,并在CMakeLists.txt中添加相应的cpp文件名。

优化效果评测要求

为了说明优化效果,请在../test/student目录下添加测试程序.sy,并编写评测脚本../test/student/eval.sh。该脚本将会在bash环境下执行。该测试脚本可驱动其他脚本,其他脚本也请放置在../test/student/目录下。请在脚本中自行添加在评测时需要用到的环境变量。脚本中应采用相对路径,避免采用绝对路径,因为提交的项目可能置于评测机的不同路径下。

学生编写的评测脚本运行时向stdout的输出将被收集作为待助教评判的内容。

报告编写要求

请在opt.md中说明如下内容

  1. 你做了哪些优化,为什么选择这些优化
  2. 优化的设计思想
  3. 代码实现上的结构考虑
  4. 实现关键点分析
  5. 优化前后的性能评测分析
  6. 实验中遇到的困难(可选)
  7. 其他你认为比较重要的点或者亮点(可选)
  8. 参考文献

除此之外,请说明添加的源代码文件位置、测试程序(包括输入数据、输出数据)的位置、评测脚本的内容和环境预设要求。

提交要求

  1. ../include/Optimize/../src/Optimize/目录下优化Pass的源代码
  2. ../test/student目录下的优化效果评测脚本eval.sh和其他必要的脚本
  3. ../test/student目录下的测试程序、输入数据、输出数据
  4. 当前目录下的报告opt.md

提示

某些优化组合起来效果可能更好;某些优化可能只执行一次效果并不理想。可以灵活使用PassMgr来管理各个Pass的执行。

在必做部分有代码检查器的编写,可以进一步针对特定的优化做相应的检查,防止优化对数据结构的破坏。可以将该部分内容补充到report.md中。