|
|
937833117e
|
[midend-tco]添加TCO尾递归优化
|
2025-08-18 23:46:00 +08:00 |
|
rain2133
|
5c34cbc7b8
|
[midend-GSR]将魔数求解移动到utils的静态方法中。
|
2025-08-18 20:37:20 +08:00 |
|
rain2133
|
c9a0c700e1
|
[midend]增加全局强度削弱优化遍
|
2025-08-18 11:30:40 +08:00 |
|
rain2133
|
8ca64610eb
|
[midend-GVN]重构GVN的值编号系统
|
2025-08-17 16:33:15 +08:00 |
|
rain2133
|
e32585fd25
|
[midend-GVN]修复GVN中部分逻辑问题,LICM有bug待修复
|
2025-08-17 00:14:47 +08:00 |
|
rain2133
|
c4eb1c3980
|
[midend-GVN&SideEffect]修复GVN的部分问题和副作用分析的缺陷
|
2025-08-16 18:52:29 +08:00 |
|
rain2133
|
d038884ffb
|
[midend-GVN] commit头文件
|
2025-08-16 15:43:51 +08:00 |
|
rain2133
|
a3435e7c26
|
[midend-Loop-IVE]循环归纳变量消除逻辑重构,修改运行顺序
|
2025-08-14 17:27:53 +08:00 |
|
rain2133
|
7547d34598
|
[midend-IVE]参考libdivide库,实现了魔数的正确求解,如果后续出错直接用API或者不要除法强度削弱了
|
2025-08-14 05:12:54 +08:00 |
|
rain2133
|
48865fa805
|
[midend-IVE]增加无用归纳变量消除遍
|
2025-08-13 17:42:34 +08:00 |
|
rain2133
|
8b5123460b
|
[midend-Loop-InductionVarStrengthReduction]支持了对部分除法运算取模运算的归纳变量的强度削弱策略。(mulh+魔数,负数2的幂次除法符号修正,2的幂次取模运算and优化)。增加了了Printer对移位指令的打印支持
|
2025-08-13 17:41:41 +08:00 |
|
rain2133
|
ea944f6ba0
|
[midend-Loop-InductionVarStrengthReduction]增加循环规约变量强度削弱优化
|
2025-08-13 01:13:01 +08:00 |
|
rain2133
|
f634273852
|
[midend-LICM]优化了特征分析中对循环不变量的识别,实现了LICM遍,格式化副作用分析代码
|
2025-08-12 15:53:57 +08:00 |
|
rain2133
|
70f6a25ebc
|
[midend-LoopAnalysis]修复循环规范遍bug,修正部分打印格式,
|
2025-08-12 12:34:07 +08:00 |
|
rain2133
|
1fab6a43f9
|
Merge branch 'midend' into midend-LoopAnalysis
|
2025-08-11 21:20:34 +08:00 |
|
rain2133
|
1e3791a801
|
[midend-LoopNormalization]消除不必要的循环特征分析结果使用。优化phi指令处理逻辑
|
2025-08-11 20:51:55 +08:00 |
|
rain2133
|
6a7355ed28
|
[midend-Loop]初步构建循环规范遍
|
2025-08-09 17:53:41 +08:00 |
|
rain2133
|
a406e44df3
|
[midend-Alias]应用别名分析结果,sccp现在能简单传播数组元素了
|
2025-08-08 02:12:32 +08:00 |
|
Lixuanwang
|
17f1bed310
|
Merge branch 'backend-lag' into backend
|
2025-08-04 16:43:43 +08:00 |
|
|
|
6550c8a25b
|
[backend-LAG]添加新的LargeArrayToGlobal中端Pass,以及栈保护逻辑
|
2025-08-04 01:01:29 +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 |
|
歪比歪比
|
a1cf60c420
|
[midend-BuildCFG]新增BuildCFG优化通道,实现控制流图的构建与分析
|
2025-08-02 22:48:21 +08:00 |
|
rain2133
|
a0b69f20fb
|
[midend]合并了SCCP和backend,修复了支配树的错误求解,修复了Mem2Reg的重命名alloca的栈管理
|
2025-08-01 15:18: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
|
61768fa180
|
[midend-SCCP]头文件构架完毕,cpp文件部分报错暂时不commit
|
2025-07-31 17:00:02 +08:00 |
|
rain2133
|
6868f638d7
|
[midend-SCCP]增加基本块对的哈希值计算方法,增加删除use关系和指令的函数
|
2025-07-31 16:57:47 +08:00 |
|
rain2133
|
206a0af424
|
[midend-SCCP]暂存1
|
2025-07-30 16:33:56 +08:00 |
|
Lixuanwang
|
09ae47924e
|
[midend]重构了src目录
|
2025-07-29 21:30:30 +08:00 |
|