Lixuanwang
|
3ba12bf320
|
[backend]本地全过
|
2025-08-05 17:38:49 +08:00 |
|
Lixuanwang
|
167c2ac2ae
|
[backend]完善了后端流水线
|
2025-08-05 16:10:04 +08:00 |
|
Lixuanwang
|
32684d8255
|
[backend]继续增强寄存器分配器健壮性
|
2025-08-05 13:50:55 +08:00 |
|
|
|
f2477c4af3
|
[backend]修复浮点数截断逻辑 h36通过
|
2025-08-05 02:44:23 +08:00 |
|
Lixuanwang
|
dcc075b39c
|
[backend]修复线性扫描逻辑
|
2025-08-05 01:06:07 +08:00 |
|
Lixuanwang
|
f7f1cf2b41
|
[backend]浮点逻辑与gcc保持一致
|
2025-08-04 21:54:24 +08:00 |
|
Lixuanwang
|
881c2a9723
|
[backend]强化了线性扫描逻辑
|
2025-08-04 19:28:15 +08:00 |
|
Lixuanwang
|
72b06c67ca
|
[backend]为图着色引入保底修复
|
2025-08-04 18:13:09 +08:00 |
|
Lixuanwang
|
4db3cc3fb5
|
Merge branch 'midend' into backend
|
2025-08-04 16:48:30 +08:00 |
|
Lixuanwang
|
17f1bed310
|
Merge branch 'backend-lag' into backend
|
2025-08-04 16:43:43 +08:00 |
|
rain2133
|
b848ffca5a
|
[midend]在生成IR时引进了简单的CSE(二元一元loadgep的cse)
|
2025-08-04 16:38:12 +08:00 |
|
Lixuanwang
|
603506d142
|
Merge branch 'backend' of gitee.com:lixuanwang/mysysy into backend
|
2025-08-04 16:34:22 +08:00 |
|
Lixuanwang
|
0179c13cf4
|
[backend]添加了一些工具函数
|
2025-08-04 16:32:54 +08:00 |
|
|
|
7e5f6800b7
|
[backend]修复寄存器分配算法死循环bug,89通过
|
2025-08-04 16:04:35 +08:00 |
|
|
|
6550c8a25b
|
[backend-LAG]添加新的LargeArrayToGlobal中端Pass,以及栈保护逻辑
|
2025-08-04 01:01:29 +08:00 |
|
rain2133
|
f24cc7ec88
|
[midend]修复replaceAllUsesWith中由于setOperand 间接调用 removeUse 或 addUse导致的迭代器失效问题
|
2025-08-04 00:59:39 +08:00 |
|
rain2133
|
446a6a6fcb
|
[midend]修复phi指令接口,优化遍适配
|
2025-08-03 22:18:00 +08:00 |
|
rain2133
|
d8b004e5e5
|
[midend]修改use关系相关的函数,使其能自动的正确维护,修改了phi指令的各种接口
|
2025-08-03 22:16:40 +08:00 |
|
Lixuanwang
|
66047dc6a3
|
Merge branch 'buildcfg' into midend
|
2025-08-03 16:40:48 +08:00 |
|
rain2133
|
22cf18a1d6
|
[midend-BuildCFG]修复逻辑
|
2025-08-03 16:14:31 +08:00 |
|
Lixuanwang
|
f8e423f579
|
合并backend、backend-IRC到midend
|
2025-08-03 15:18:52 +08:00 |
|
Lixuanwang
|
5b43f208ac
|
Merge branch 'backend-divopt' into midend
|
2025-08-03 14:53:22 +08:00 |
|
|
|
0ce742a86e
|
[optimize]添加更为通用的除法强度削减Pass, 不受除数限制替换div指令,不影响当前分数
|
2025-08-03 14:37:33 +08:00 |
|
|
|
f312792fe9
|
[optimze]添加基础的除法指令优化,目前只对除以2的幂数生效
|
2025-08-03 13:46:42 +08:00 |
|
rain2133
|
32ea24df56
|
[midend]修复entryBB和funcBodyEntry的初始化,Dom计算引进逆后续遍历和LT算法,Pass先默认关掉CFGOpt
|
2025-08-03 00:51:49 +08:00 |
|
歪比歪比
|
a1cf60c420
|
[midend-BuildCFG]新增BuildCFG优化通道,实现控制流图的构建与分析
|
2025-08-02 22:48:21 +08:00 |
|
Lixuanwang
|
f879a0f521
|
[midend]修复了后端不适配中端全局变量定义的问题
|
2025-08-02 22:06:37 +08:00 |
|
rain2133
|
aef10b48e8
|
[midend]删除前驱后继移除时不存在的检查,phi增加llvm风格接口,重构CFGOpt特别是空块删除的逻辑(待验证)
|
2025-08-01 18:34:43 +08:00 |
|
rain2133
|
a0b69f20fb
|
[midend]合并了SCCP和backend,修复了支配树的错误求解,修复了Mem2Reg的重命名alloca的栈管理
|
2025-08-01 15:18:33 +08:00 |
|
rain2133
|
999f2c6615
|
Merge remote-tracking branch 'origin/backend' into midend
|
2025-08-01 14:06:20 +08:00 |
|
rain2133
|
1eedb55ca0
|
Merge branch 'midend-SCCP' into midend
|
2025-08-01 14:02:14 +08:00 |
|
rain2133
|
c268191826
|
[midend-SCCP]修改BaiscBlock的析构逻辑,将CFG修改的职责交给优化遍,注释Mem2Reg的调试信息。
|
2025-08-01 01:44:33 +08:00 |
|
rain2133
|
0f1fcc835d
|
[midend-SCCP]删除User的析构函数,usedelete增加逻辑通知inst所使用的value移除对应的use关系(一般在这之前会替换使用inst的uses为其他值),TODO:仍然存在bug需要调试
|
2025-07-31 22:32:04 +08:00 |
|
rain2133
|
c5af4f1c49
|
[midend-SCCP]bug修复,增加不可达指令(理论来说后端不会出现这条指令,只是为了IR完整性添加),添加相关方法,phi指令方法修复;目前能够跑完所有优化,但是User的析构函数重定义导致全局析构不能正确完成,需要修复
|
2025-07-31 22:03:35 +08:00 |
|
rain2133
|
ef09bc70d4
|
[midend]修改了removeinst方法,应对不同的使用情况,增加user析构函数使得user对象销毁顺带销毁其use关系销毁,重构usedelete方法封装指令删除和use关系删除
|
2025-07-31 21:10:20 +08:00 |
|
rain2133
|
aed4577490
|
[midend]同上,删除了打印函数对维度信息的错误访问
|
2025-07-31 19:57:19 +08:00 |
|
rain2133
|
f3f603a032
|
[midend]消除冗余维度信息记录,适配IR生成器,TODO:其他优化遍生成指令修改,或者后端的访问
|
2025-07-31 19:36:39 +08:00 |
|
rain2133
|
35691ab7bc
|
[midend-SCCP]为跳转指令增加getSuccessors方法
|
2025-07-31 17:19:57 +08:00 |
|
rain2133
|
61768fa180
|
[midend-SCCP]头文件构架完毕,cpp文件部分报错暂时不commit
|
2025-07-31 17:00:02 +08:00 |
|
rain2133
|
520ebd96f0
|
[midend-SCCP]增加不可达指令,修改跳转指令参数(基本块args已弃用默认为{})
|
2025-07-31 16:59:22 +08:00 |
|
rain2133
|
6868f638d7
|
[midend-SCCP]增加基本块对的哈希值计算方法,增加删除use关系和指令的函数
|
2025-07-31 16:57:47 +08:00 |
|
Lixuanwang
|
bfe2b248cd
|
Merge branch 'backend-float' into backend
|
2025-07-31 12:16:11 +08:00 |
|
rain2133
|
82288464c3
|
[midend]修复常量变量的声明逻辑同变量声明,重构表达式生成逻辑(将中缀表达式转换为后缀表达式判断类型提升后再进行统一类型转换和计算)。运行脚本通过率[117/140]。
|
2025-07-31 02:47:39 +08:00 |
|
rain2133
|
7e8b90ffd4
|
[midend]修改全局变量,全局常量类,提供维度访问方法,消除维度信息(记录在Type中),createItoFInst命名修复,增加打印全局常量。
|
2025-07-31 02:45:40 +08:00 |
|
Lixuanwang
|
b3cf3cba29
|
[backend]修复了多参数传递的错误
|
2025-07-30 22:16:37 +08:00 |
|
Lixuanwang
|
03b62b138f
|
[backend]修复了一个栈管理问题
|
2025-07-30 20:40:56 +08:00 |
|
Lixuanwang
|
8e94f89931
|
Merge branch 'midend' into backend
|
2025-07-30 18:27:42 +08:00 |
|
Lixuanwang
|
1fb5cd398d
|
[backend]修复了多参数传递的问题
|
2025-07-30 17:58:39 +08:00 |
|
rain2133
|
206a0af424
|
[midend-SCCP]暂存1
|
2025-07-30 16:33:56 +08:00 |
|
Lixuanwang
|
877a0f5dc2
|
[backend-float]修复部分问题
|
2025-07-30 16:00:02 +08:00 |
|