Lixuanwang
|
09ae47924e
|
[midend]重构了src目录
|
2025-07-29 21:30:30 +08:00 |
|
Lixuanwang
|
e4fd16e36a
|
Merge branch 'backend' into midend
|
2025-07-29 16:37:11 +08:00 |
|
Lixuanwang
|
8deb4ed076
|
[backend]添加了2个新的pass,用于解决大立即数加载问题
|
2025-07-29 15:48:37 +08:00 |
|
rain2133
|
37e99e37a3
|
Merge branch 'midend-mem2reg' into midend
|
2025-07-29 15:48:34 +08:00 |
|
rain2133
|
3e4cac089e
|
[midend-reg2mem]增加reg2mem遍,应用未定义值,增加inst迭代器查找方法,通过编译且脚本运行通过率不变
|
2025-07-29 02:01:48 +08:00 |
|
Lixuanwang
|
9ba08126fb
|
Merge branch 'peephole' into backend
|
2025-07-28 23:46:34 +08:00 |
|
rain2133
|
535a935bf1
|
[midend-mem2reg]暂存文件,思路留存
|
2025-07-28 14:57:15 +08:00 |
|
|
|
634a84f29c
|
[peephole]Pass架构重构优化
|
2025-07-27 11:03:26 +08:00 |
|
Lixuanwang
|
af318b6c0e
|
[backend]尝试在寄存器分配逻辑中区分调用者保存、被调用者保存寄存器
|
2025-07-26 21:45:01 +08:00 |
|
rain2133
|
4b9d067c12
|
[midend]部分DCE遍实现(传播活跃代码),修改优化遍运行逻辑,TODO:完善优化遍的getAnalysisUsage,删除无用代码
|
2025-07-24 14:36:33 +08:00 |
|
rain2133
|
3df3d7a097
|
[midend]通过编译,TODO:验证正确性
|
2025-07-22 22:38:47 +08:00 |
|
rain2133
|
de696b2b53
|
[IR]重构数组地址相关指令
增加GEP指令以及相关方法
新增数组Array Type
删除无用指令(GetSubArray,LA)
删除冗余类定义(Lval)
修复中间代码生成逻辑
测试通过所以test目录下的文件
TODO:后端展开数组计算地址仅需要针对GEP指令展开
|
2025-07-20 15:33:58 +08:00 |
|
rain2133
|
18e7cbd413
|
Merge branch 'backend' into SCCP
|
2025-07-20 13:00:15 +08:00 |
|
Lixuanwang
|
80dee78f04
|
[backend]引入后端pass管理器
|
2025-07-20 12:45:52 +08:00 |
|
Lixuanwang
|
d7fb017550
|
Merge branch 'backend-llir' into backend
|
2025-07-19 18:00:42 +08:00 |
|
rain2133
|
0d5748e9c5
|
[IR]修复初始化数组指令的逻辑,更新IR常量定义。
|
2025-07-19 16:18:05 +08:00 |
|
Lixuanwang
|
d4a6996d74
|
[backend]重构了后端
|
2025-07-19 16:06:35 +08:00 |
|
Lixuanwang
|
be8ca144d0
|
[backend]引入了新的pass,负责消除数组复杂地址访问
|
2025-07-18 00:10:10 +08:00 |
|
rain2133
|
00348c1931
|
修改CFG优化的文件名,修改phidel标签
|
2025-07-16 22:01:37 +08:00 |
|
LixuanWang
|
8c80b732f3
|
[deploy]修正了本地不能通过编译的bug,大幅修改了主函数,使之支持云平台测试参数
|
2025-07-16 11:18:43 +08:00 |
|
LixuanWang
|
bb1602aa5f
|
[deploy]把Antlr生成的代码直接放到源代码文件夹中
|
2025-07-16 10:32:18 +08:00 |
|
Lixuanwang
|
44fb098aff
|
Merge branch 'DCE' into backend
|
2025-06-25 16:04:42 +08:00 |
|
rain2133
|
0d23475aa1
|
[死代码删除]:保证扩展性、模块化构建死代码删除,包括消除无用store,alloca,load,globalval,mem2reg引入的无用alloca以及reg2mem导致的store-load-store冗余存储
|
2025-06-25 15:33:25 +08:00 |
|
Lixuanwang
|
c8587a6d0b
|
[backend] introduced riscv64
|
2025-06-25 14:37:46 +08:00 |
|
rain2133
|
050113d31d
|
增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令
|
2025-06-25 13:17:16 +08:00 |
|
rain2133
|
bd0b624e87
|
debugging
|
2025-06-25 02:22:16 +08:00 |
|
rain2133
|
10b43fc90d
|
修复若干bug
|
2025-06-23 17:04:45 +08:00 |
|
rain2133
|
496e2abfb6
|
构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复
|
2025-06-22 17:59:19 +08:00 |
|
lixuanwang
|
4711fb603b
|
fixed bugs brought out by merging
|
2025-06-22 14:39:38 +08:00 |
|
lixuanwang
|
dda8bbe444
|
Merge branch 'array_add'
|
2025-06-22 14:24:00 +08:00 |
|
rain2133
|
d90330af3f
|
add Utils::initExternalFunction
|
2025-06-22 14:14:02 +08:00 |
|
rain2133
|
4828c18f96
|
前端基本构建完毕,build前端部分无报错,argument类删除后端报错,llvmIR输出待完成
|
2025-06-22 00:25:43 +08:00 |
|
lixuanwang
|
232ed6d023
|
[backend] introduced rv32 backend
|
2025-06-21 17:26:50 +08:00 |
|
rain2133
|
c54543bff3
|
更新目录结构,修改IR结构,部分修复IR生成
|
2025-06-20 22:46:04 +08:00 |
|
lixuanwang
|
3c5fb7d17b
|
[IR Gen] fixed build errors
|
2025-06-09 20:06:05 +08:00 |
|
Lixuanwang
|
7d08763b2e
|
[IR gen] debugging
|
2025-06-09 19:30:37 +08:00 |
|
ladev789
|
551d727733
|
merging
|
2025-05-29 22:09:16 +08:00 |
|
Lixuanwang
|
1e47af2771
|
merging branch lab2-IRGen into master
|
2025-05-29 16:09:17 +08:00 |
|
Lixuanwang
|
cc523fd30b
|
Initial commit from sysy-main
|
2025-02-27 23:14:53 +08:00 |
|