Commit Graph

155 Commits

Author SHA1 Message Date
d4a6996d74 [backend]重构了后端 2025-07-19 16:06:35 +08:00
75e61bf274 [backend-llir]引入了LLIR定义 2025-07-19 14:29: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
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
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
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
2de16da306 binary name changed to compiler 2025-07-16 02:06:19 +08:00
e33a926562 Merge branch 'backend' 2025-07-15 15:04:20 +08:00
3419f84898 Merge remote-tracking branch 'origin/backend' into loopinfo 2025-07-15 13:09:55 +08:00
ede6465e8c [IR]:增加默认添加ret指令逻辑 2025-07-15 12:53:03 +08:00
a509dabbf0 [backend]解决了数组访存地址计算问题,加入了参数控制的中端、后端调试选项 2025-07-15 11:32:53 +08:00
11f45be21e 修复了虚拟机内测试脚本的格式问题 2025-07-14 18:07:20 +08:00
e576f0a21e Merge remote-tracking branch 'origin/DCE' into backend 2025-06-27 22:44:08 +08:00
34ffa39b8a [backend] modified some comments and created a shell srcipt for test inside riscv64-vms 2025-06-25 20:59:40 +08:00
d06c5efae1 [backend] fixed bugs of deadcode elimation 2025-06-25 18:56:08 +08:00
019cb6dc0d [backend] debugging array 2025-06-25 17:07:37 +08:00
d9fa9e787a 删除注释 2025-06-25 16:33:43 +08:00
97410d9417 删除调试信息输出 2025-06-25 16:07:29 +08:00
44fb098aff Merge branch 'DCE' into backend 2025-06-25 16:04:42 +08:00
6f897d797a [backend] debugging array 2025-06-25 16:02:41 +08:00
0d23475aa1 [死代码删除]:保证扩展性、模块化构建死代码删除,包括消除无用store,alloca,load,globalval,mem2reg引入的无用alloca以及reg2mem导致的store-load-store冗余存储 2025-06-25 15:33:25 +08:00
b12732f10d 修复分析器逻辑,保证优化遍共享一个分析器(主要是在mem2reg) 2025-06-25 15:30:28 +08:00
15a80bd5cd [backend] fix the logical error of constants in interference graph construction 2025-06-25 14:37:46 +08:00
c8587a6d0b [backend] introduced riscv64 2025-06-25 14:37:46 +08:00
4c9c25aadc 修复break,continue的IR生成 2025-06-25 14:15:54 +08:00
1e06c5a446 debugging 2025-06-25 14:00:27 +08:00
050113d31d 增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令 2025-06-25 13:17:16 +08:00
3dc7c274cf 修复支配树生成算法 2025-06-25 12:42:28 +08:00