rain2133
|
3e4cac089e
|
[midend-reg2mem]增加reg2mem遍,应用未定义值,增加inst迭代器查找方法,通过编译且脚本运行通过率不变
|
2025-07-29 02:01:48 +08:00 |
|
rain2133
|
efe74cba6c
|
[midend-mem2reg]mem2reg遍基本写完,编译不报错,待reg2mem写完统一测试
|
2025-07-28 14:28:46 +08:00 |
|
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
|
12f63a0bf5
|
[midend]解决标签重名问题
|
2025-07-25 12:35:35 +08:00 |
|
rain2133
|
9c56bc1310
|
[midend]修改GEP指令定义,更靠近llvm ir设计,增加自动推断类型函数,修复generator中错误生成ir的逻辑
|
2025-07-24 17:02:29 +08:00 |
|
rain2133
|
550f4017be
|
[midend]重构中端,建立遍管理器,注册器等,初步构建支配树分析遍,增加基本块方法
|
2025-07-21 15:19:38 +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
|
fdc946c1b5
|
[IR]重构常量定义,引入undefvalue定义,修改常量方法使用尽量适配旧版
|
2025-07-18 16:40:16 +08:00 |
|
rain2133
|
631ef80de2
|
[IR]phi指令重构,将block信息加入并提供新方法,后续需更改phi相关指令构建逻辑
|
2025-07-17 19:01:02 +08:00 |
|
Lixuanwang
|
a509dabbf0
|
[backend]解决了数组访存地址计算问题,加入了参数控制的中端、后端调试选项
|
2025-07-15 11:32:53 +08:00 |
|
rain2133
|
73dd8eba22
|
删除IR中关于分析的属性,准备建立分析器
|
2025-06-24 10:18:29 +08:00 |
|
rain2133
|
568e9af626
|
IRoptpre 初步构建
|
2025-06-23 13:17:15 +08:00 |
|
rain2133
|
496e2abfb6
|
构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复
|
2025-06-22 17:59:19 +08:00 |
|
rain2133
|
0a04c816cf
|
更新IR,.g4修改
|
2025-06-21 18:06:29 +08:00 |
|
rain2133
|
3ed1c7fecd
|
更改前置声明,IR生成更新
|
2025-06-21 16:39:13 +08:00 |
|
rain2133
|
2b038e671b
|
修复bug
|
2025-06-21 14:33:22 +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 |
|