Commit Graph

39 Commits

Author SHA1 Message Date
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