Commit Graph

177 Commits

Author SHA1 Message Date
88604c1f94 [IR]消除Falltrhough现象
[IR]优化生成Ret指令逻辑
[README]添加TODO表
2025-07-20 18:23:48 +08:00
de696b2b53 [IR]重构数组地址相关指令
增加GEP指令以及相关方法
新增数组Array Type
删除无用指令(GetSubArray,LA)
删除冗余类定义(Lval)
修复中间代码生成逻辑
测试通过所以test目录下的文件
TODO:后端展开数组计算地址仅需要针对GEP指令展开
2025-07-20 15:33:58 +08:00
18e7cbd413 Merge branch 'backend' into SCCP 2025-07-20 13:00:15 +08:00
20cd16bf52 暂存2 2025-07-20 12:54:19 +08:00
80dee78f04 [backend]引入后端pass管理器 2025-07-20 12:45:52 +08:00
d7fb017550 Merge branch 'backend-llir' into backend 2025-07-19 18:00:42 +08:00
c4b18a70db [backend]准备合并backend-llir 2025-07-19 17:59:45 +08:00
9528335a04 [backend-llir]修复了许多重构的bug 2025-07-19 17:50:14 +08:00
0d5748e9c5 [IR]修复初始化数组指令的逻辑,更新IR常量定义。 2025-07-19 16:18:05 +08:00
d4a6996d74 [backend]重构了后端 2025-07-19 16:06:35 +08:00
36cfd2f64d 先将SCCP中重构IR的部分移植到backend 2025-07-19 15:00:04 +08:00
75e61bf274 [backend-llir]引入了LLIR定义 2025-07-19 14:29:57 +08:00
8f1e477e73 暂存 2025-07-19 14:23:57 +08:00
c8308047df [backend]引入了Memset指令在后端的展开 2025-07-19 13:52:09 +08:00
86d1de6696 [backend]向脚本添加了打印不通过测例的功能 2025-07-19 12:00:02 +08:00
69d27f058d [backend]将testdata/下的测例替换为了赛方测试用例,更新了测试脚本 2025-07-19 01:44:37 +08:00
6335abe806 [backend]修复了引入常量重质化后全局常量加载指令的缺失问题 2025-07-19 00:46:46 +08:00
6ed5965b29 [backend]数组访存问题基本修复 2025-07-19 00:32:47 +08:00
0f26be3586 [backend]添加了对主函数中新引入的调试信息打印的控制,修改了测试脚本为云平台测试的参数,调整了73_int_io测例的输入文件的格式 2025-07-18 22:50:06 +08:00
d38ec13cbd [backend]修复了函数调用参数为常数时,参数传递有误的bug 2025-07-18 21:54:24 +08:00
10b011a1de [fix]修复部分常量构建,[Pass]建立Pass基类和管理器,预重构优化遍结构 2025-07-18 21:28:36 +08:00
e8660120cc [backend]删除了后端对数组访存的地址展开,因为已经在IR中实现 2025-07-18 20:48:59 +08:00
3657c08644 [backend]引入新的活跃性分析 2025-07-18 20:24:47 +08:00
1bcb5eba2a [backend]去除了错误的寄存器分配机制 2025-07-18 18:50:21 +08:00
fc62446b40 Merge branch 'backend' of gitee.com:lixuanwang/mysysy into backend 2025-07-18 18:48:44 +08:00
fedb4b0a9f [backend]修复了栈分配空间大小不考虑数组的错误 2025-07-18 18:48:38 +08:00
4bf4c98787 [backend]修复了栈分配空间大小不考虑数组的错误 2025-07-18 18:44:13 +08:00
34b5a93aaf [Mem2Reg]重构SSA提升 2025-07-18 18:17:45 +08:00
a5d97185e1 [IR]修复IR报错,调整结构。 2025-07-18 18:17:22 +08:00
fdc946c1b5 [IR]重构常量定义,引入undefvalue定义,修改常量方法使用尽量适配旧版 2025-07-18 16:40:16 +08:00
198c1974e3 [backend] 新pass ACE修改完毕 2025-07-18 13:04:02 +08:00
b90e4faa6a [backend] 删除了部分错误代码 2025-07-18 01:37:29 +08:00
be8ca144d0 [backend]引入了新的pass,负责消除数组复杂地址访问 2025-07-18 00:10:10 +08:00
725da2858d [IR]指令构造器更新 2025-07-17 21:34:19 +08:00
631ef80de2 [IR]phi指令重构,将block信息加入并提供新方法,后续需更改phi相关指令构建逻辑 2025-07-17 19:01:02 +08:00
77fae4d662 [CFG]增加分支优化,为SCCP调用做铺垫,预备修改phi定义 2025-07-17 16:50:09 +08:00
009f54863e [CFG]CFG优化方法转换为静态方法,方便其他优化遍调用,TODO:简化条件分支 2025-07-17 15:54:37 +08:00
f7e318e623 [SCCP]初步构建SCCP,.cpp仍不完善暂不commit 2025-07-16 22:01:37 +08:00
00348c1931 修改CFG优化的文件名,修改phidel标签 2025-07-16 22:01:37 +08:00
5a6cfbee1e [SysYIROptUtils]增加通用优化工具类,修改相关代码 2025-07-16 22:01:37 +08:00
20acdc910d 修复了引入的部分bug 2025-07-16 17:40:07 +08:00
f4d599a567 Merge remote-tracking branch 'origin/loopinfo' 2025-07-16 13:17:32 +08:00
50fd9cffe9 [IRPrinter&DCE]修改定义方便调试打印,在DEC中增加调试信息 2025-07-16 13:04:05 +08:00
3ce6cd086a Merge branch 'master' of https://gitlab.eduxiji.net/T202590002206578/mysysy 2025-07-16 12:49:46 +08:00
1727e7259b 添加了项目部署脚本,修改了ReadMe 2025-07-16 12:16:52 +08:00
8c80b732f3 [deploy]修正了本地不能通过编译的bug,大幅修改了主函数,使之支持云平台测试参数 2025-07-16 11:18:43 +08:00
bd7f6ea6f6 [deploy]移除了Backend.h和.cpp 2025-07-16 10:37:19 +08:00
bb1602aa5f [deploy]把Antlr生成的代码直接放到源代码文件夹中 2025-07-16 10:32:18 +08:00
b08b7d9fa6 [deploy]移除了导致编译错误的Antlr目录 2025-07-16 10:07:09 +08:00
c5fa366108 [deploy]移除了导致编译错误的旧版本Antlr目录 2025-07-16 09:44:28 +08:00