rain2133
|
d83dc7a2e7
|
[midend-LICM][fix]修复循环不变量的识别逻辑
|
2025-08-17 01:19:44 +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
|
467f2f6b24
|
[midend-GVN]初步构建GVN,能够优化部分CSE无法处理的子表达式但是有错误需要debug。
|
2025-08-16 15:38:41 +08:00 |
|
rain2133
|
fa33bf5134
|
[midend-Loop-IVE]修复循环的死IV消除逻辑
|
2025-08-15 01:19:45 +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
|
06a368db39
|
[midend]修复创建新归纳变量的错误逻辑,避免生成悬空phi节点的现象
|
2025-08-13 20:00:43 +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
|
baef82677b
|
[midend-LICM]将能够外提的循环不变量进行Kanh拓扑排序保证外提后的计算顺序正确。
|
2025-08-12 16:18:00 +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
|
8cb807c8b9
|
[midend-LoopAnalysis]修复phi指令缺失的getIncomingValues方法调用
|
2025-08-11 21:20:38 +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
|
1361156b0d
|
[midend-CFGOpt]修复上一次提交的漏洞
|
2025-08-11 18:46:07 +08:00 |
|
rain2133
|
46179e3866
|
[midend-CFGOpt]修复部分指令删除逻辑错误
|
2025-08-11 18:40:58 +08:00 |
|
rain2133
|
038552f58b
|
[midend-SCCP]修复了函数参数没有正确初始化为Bottom的问题,现在f/64样例可以-O1通过
|
2025-08-11 16:47:03 +08:00 |
|
rain2133
|
4d0e2d73ea
|
[midend-LATG]将调试信息改为DEBUG生效
|
2025-08-10 17:32:45 +08:00 |
|
rain2133
|
6a7355ed28
|
[midend-Loop]初步构建循环规范遍
|
2025-08-09 17:53:41 +08:00 |
|
rain2133
|
bd23f6154d
|
[midend-SideEffect]将副作用分析遍重构为Module级别,更新其他优化遍用法,注册到PassMananger中,修改CMakeLists。
|
2025-08-08 16:25:41 +08:00 |
|
rain2133
|
a406e44df3
|
[midend-Alias]应用别名分析结果,sccp现在能简单传播数组元素了
|
2025-08-08 02:12:32 +08:00 |
|
rain2133
|
5f63554ca3
|
[midend]修正合并基本块链会将entry块纳入考虑范围的问题。上次commit同时修改了alloca创建的逻辑保证了alloca的声明全部在entry块中
|
2025-08-04 18:56:57 +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
|
446a6a6fcb
|
[midend]修复phi指令接口,优化遍适配
|
2025-08-03 22:18:00 +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
|
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
|
c268191826
|
[midend-SCCP]修改BaiscBlock的析构逻辑,将CFG修改的职责交给优化遍,注释Mem2Reg的调试信息。
|
2025-08-01 01:44:33 +08:00 |
|
rain2133
|
c5af4f1c49
|
[midend-SCCP]bug修复,增加不可达指令(理论来说后端不会出现这条指令,只是为了IR完整性添加),添加相关方法,phi指令方法修复;目前能够跑完所有优化,但是User的析构函数重定义导致全局析构不能正确完成,需要修复
|
2025-07-31 22:03:35 +08:00 |
|
rain2133
|
9a53e1b917
|
[midend]适应上一次commit修改已有优化遍中相关指令删除的代码
|
2025-07-31 21:10:59 +08:00 |
|
rain2133
|
35b421b60b
|
[midend]修改原因同上一次commit
|
2025-07-31 19:38:43 +08:00 |
|
rain2133
|
de0f8422e9
|
[midend-SCCP]没有编译报错但是Segmemtation falut
|
2025-07-31 17:29:34 +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 |
|