|
|
520ebd96f0
|
[midend-SCCP]增加不可达指令,修改跳转指令参数(基本块args已弃用默认为{})
|
2025-07-31 16:59:22 +08:00 |
|
|
|
6868f638d7
|
[midend-SCCP]增加基本块对的哈希值计算方法,增加删除use关系和指令的函数
|
2025-07-31 16:57:47 +08:00 |
|
|
|
206a0af424
|
[midend-SCCP]暂存1
|
2025-07-30 16:33:56 +08:00 |
|
|
|
38bee5d5ac
|
[midend]IRPrinter增加了打印全局常量的功能
|
2025-07-30 14:46:28 +08:00 |
|
|
|
98511efd91
|
[midend]修改constdecl的逻辑区分局部常量和全局常量声明逻辑,提供方法访问全局变量,常量的维度信息,修改GlobalValue,ConstantVariable的继承父类(User->Value)维度信息保存在Type中。
|
2025-07-30 14:40:10 +08:00 |
|
|
|
507096a0f6
|
Merge branch 'midend' of gitee.com:lixuanwang/mysysy into midend
|
2025-07-30 11:31:46 +08:00 |
|
|
|
7f2e501cea
|
[backend]修复了指令选择不支持ConstantVariable操作数的bug
|
2025-07-30 11:31:37 +08:00 |
|
|
|
31b6711d74
|
[midend]IR修改常量类getint和getfloat逻辑,如果类型和方法不一致那么应用强制转换返回转换后的值
|
2025-07-29 23:52:37 +08:00 |
|
|
|
42dce9820b
|
Merge branch 'midend' into backend
|
2025-07-29 21:31:04 +08:00 |
|
|
|
09ae47924e
|
[midend]重构了src目录
|
2025-07-29 21:30:30 +08:00 |
|
|
|
f5922d0178
|
[midend]修改类型转换判断的逻辑
|
2025-07-29 20:23:25 +08:00 |
|
|
|
63906d0648
|
[midend]修复82样例生成IR的错误(未正确初始化全局数组常量和数组常量的Type计算)
|
2025-07-29 19:35:39 +08:00 |
|
|
|
6ba05e0d8c
|
[PreRA_Scheduler]添加寄存器分配前的指令调度优化
|
2025-07-29 17:00:27 +08:00 |
|
|
|
e4fd16e36a
|
Merge branch 'backend' into midend
|
2025-07-29 16:37:11 +08:00 |
|
|
|
32bdc17dc3
|
[backend]调整了后端pass的顺序
|
2025-07-29 16:15:01 +08:00 |
|
|
|
8deb4ed076
|
[backend]添加了2个新的pass,用于解决大立即数加载问题
|
2025-07-29 15:48:37 +08:00 |
|
|
|
37e99e37a3
|
Merge branch 'midend-mem2reg' into midend
|
2025-07-29 15:48:34 +08:00 |
|
|
|
8e69992b29
|
[midend-mem2reg]增加说明
|
2025-07-29 15:47:51 +08:00 |
|
|
|
15fe69187a
|
[midend-mem2reg]目前reg2mem仅将函数参数和phi指令及其对应指令进行reg2mem,旨在消除phi指令。
|
2025-07-29 15:30:28 +08:00 |
|
|
|
fff19ca1ea
|
[midend-mem2reg]Reg2Mem建立完成runit测试127/140,reg2mem基本思路:函数参数默认降级到内存,有结果的指令被降级的内存
|
2025-07-29 14:34:16 +08:00 |
|
|
|
4a329eeaf2
|
[midend]修复return指令exp为空的判断条件错误
|
2025-07-29 12:16:46 +08:00 |
|
|
|
3dc4b28c92
|
[midend-mem2reg]dom增加访问支配树子节点求解和访问方法,修复block打印,phi指令命名,TODO:reg2membug待修复
|
2025-07-29 03:25:56 +08:00 |
|
|
|
202e6d7cd8
|
[midend-mem2reg]增加遍打印方法,修复reg2mem构造函数错误
|
2025-07-29 02:11:10 +08:00 |
|
|
|
3e4cac089e
|
[midend-reg2mem]增加reg2mem遍,应用未定义值,增加inst迭代器查找方法,通过编译且脚本运行通过率不变
|
2025-07-29 02:01:48 +08:00 |
|
|
|
76d7b14b2e
|
[backend]更新了测试脚本,现在的测试更准确
|
2025-07-29 01:04:43 +08:00 |
|
|
|
9ba08126fb
|
Merge branch 'peephole' into backend
|
2025-07-28 23:46:34 +08:00 |
|
|
|
875100ec01
|
[backend]为单次运行脚本添加了clean参数
|
2025-07-28 23:41:36 +08:00 |
|
|
|
b0cecca081
|
Merge branch 'backend-rec' into backend
|
2025-07-28 23:40:58 +08:00 |
|
|
|
434bcea98e
|
[PostRA_Scheduler]修复了超大测例卡死的bug
|
2025-07-28 23:17:26 +08:00 |
|
|
|
da5c2bb41d
|
[PostRA_Scheduler]完成寄存器分配后的指令调度优化
|
2025-07-28 22:35:29 +08:00 |
|
|
|
fcc3806342
|
Merge branch 'backend-bss' into backend
|
2025-07-28 17:31:47 +08:00 |
|
|
|
792dc9c1f6
|
Merge branch 'backend-bss' into backend-rec
|
2025-07-28 17:31:23 +08:00 |
|
|
|
429e477776
|
[backend]引入了对.bss和.data段的区分
|
2025-07-28 17:29:18 +08:00 |
|
|
|
535a935bf1
|
[midend-mem2reg]暂存文件,思路留存
|
2025-07-28 14:57:15 +08:00 |
|
|
|
efe74cba6c
|
[midend-mem2reg]mem2reg遍基本写完,编译不报错,待reg2mem写完统一测试
|
2025-07-28 14:28:46 +08:00 |
|
|
|
634a84f29c
|
[peephole]Pass架构重构优化
|
2025-07-27 11:03:26 +08:00 |
|
|
|
2e8b564d8f
|
[backend]修复了递归函数的调用问题,引入了新的bug?
|
2025-07-27 01:07:08 +08:00 |
|
|
|
2dd6a17fca
|
[backend]saving1
|
2025-07-27 00:34:45 +08:00 |
|
|
|
78dee0d72a
|
[peephole]添加7项窥孔优化规则初步测试生效成功,有待进一步检查,TODO: 指令调度优化
|
2025-07-26 21:48:14 +08:00 |
|
|
|
af318b6c0e
|
[backend]尝试在寄存器分配逻辑中区分调用者保存、被调用者保存寄存器
|
2025-07-26 21:45:01 +08:00 |
|
|
|
9bea4d5343
|
[backend]更新todo
|
2025-07-26 19:04:31 +08:00 |
|
|
|
540742be0c
|
[backend]添加了一个Pass,将调用者、被调用者寄存器实现转移到其中
|
2025-07-26 18:38:04 +08:00 |
|
|
|
8ae7478ef3
|
Merge branch 'midend' into backend
|
2025-07-26 17:36:23 +08:00 |
|
|
|
a616ec085e
|
[midend][backend]补全了符合RV64调用约定的寄存器着色规则
|
2025-07-26 17:35:08 +08:00 |
|
|
|
828515bc2f
|
[midend][backend]添加了DAG中的Argument类型,添加了Argument节点的处理逻辑
|
2025-07-26 16:55:32 +08:00 |
|
|
|
a231267fc5
|
[midend]修复函数参数alloca指令创建错误导致的段错误,修复irprint对argument的识别
|
2025-07-26 13:02:24 +08:00 |
|
|
|
4b181261ce
|
[midend][backend]同步后端逻辑,修复编译错误
|
2025-07-26 12:53:21 +08:00 |
|
|
|
3df9b3bb06
|
Merge remote-tracking branch 'origin/midend-mem2reg' into midend
|
2025-07-26 12:41:43 +08:00 |
|
|
|
e57ac7709d
|
[backend]开始区分调用者保存寄存器与被调用者保存寄存器
|
2025-07-26 12:39:17 +08:00 |
|
|
|
2643eb1edd
|
[midend-mem2reg]修改函数参数定义引入argument类,显示为参数创建alloca和store指令
|
2025-07-26 12:30:03 +08:00 |
|