Commit Graph

14 Commits

Author SHA1 Message Date
rain2133
2643eb1edd [midend-mem2reg]修改函数参数定义引入argument类,显示为参数创建alloca和store指令 2025-07-26 12:30:03 +08:00
rain2133
04c5c6b44d [midend-mem2reg]修复assignstmt对lvalue的错误解析(lvaue会被exp解释为值,而被assign解释为地址) 2025-07-25 20:00:41 +08:00
rain2133
1e6f6ed711 [midend] GEP类型推断函数getIndexedType逻辑修复,增加数组type缓存池避免相同type ==操作返回假,修复实参形参类型转换判断逻辑,starttime stoptime提供支持(待后端测试) 2025-07-25 03:26:10 +08:00
rain2133
de696b2b53 [IR]重构数组地址相关指令
增加GEP指令以及相关方法
新增数组Array Type
删除无用指令(GetSubArray,LA)
删除冗余类定义(Lval)
修复中间代码生成逻辑
测试通过所以test目录下的文件
TODO:后端展开数组计算地址仅需要针对GEP指令展开
2025-07-20 15:33:58 +08:00
rain2133
a5d97185e1 [IR]修复IR报错,调整结构。 2025-07-18 18:17:22 +08:00
rain2133
631ef80de2 [IR]phi指令重构,将block信息加入并提供新方法,后续需更改phi相关指令构建逻辑 2025-07-17 19:01:02 +08:00
rain2133
97410d9417 删除调试信息输出 2025-06-25 16:07:29 +08:00
rain2133
d50f76a770 修复IR函数参数输出,变量命名 2025-06-24 16:39:42 +08:00
rain2133
73dd8eba22 删除IR中关于分析的属性,准备建立分析器 2025-06-24 10:18:29 +08:00
rain2133
30f89bba23 更新IR结构,重写IRBuilder 2025-06-21 12:53:41 +08:00
rain2133
c54543bff3 更新目录结构,修改IR结构,部分修复IR生成 2025-06-20 22:46:04 +08:00
rain2133
1de8c0e7d7 引入了常量池优化,修改constvalue类并对IR生成修复,能够编译通过 2025-06-19 00:18:58 +08:00
rain2133
1aa785efc3 add arraytype def 2025-06-16 20:56:32 +08:00
Lixuanwang
cc523fd30b Initial commit from sysy-main 2025-02-27 23:14:53 +08:00