rain2133
|
3df3d7a097
|
[midend]通过编译,TODO:验证正确性
|
2025-07-22 22:38:47 +08:00 |
|
rain2133
|
f61b51b2fa
|
[midend]优化中端框架,移除无用旧代码,ignore格式文件
|
2025-07-22 21:25:07 +08:00 |
|
rain2133
|
a72fc541fb
|
[midend]活跃变量分析,CFG优化遍重写。还未跑通,暂存
|
2025-07-21 15:20:46 +08:00 |
|
rain2133
|
550f4017be
|
[midend]重构中端,建立遍管理器,注册器等,初步构建支配树分析遍,增加基本块方法
|
2025-07-21 15:19:38 +08:00 |
|
rain2133
|
88604c1f94
|
[IR]消除Falltrhough现象
[IR]优化生成Ret指令逻辑
[README]添加TODO表
|
2025-07-20 18:23:48 +08:00 |
|
rain2133
|
de696b2b53
|
[IR]重构数组地址相关指令
增加GEP指令以及相关方法
新增数组Array Type
删除无用指令(GetSubArray,LA)
删除冗余类定义(Lval)
修复中间代码生成逻辑
测试通过所以test目录下的文件
TODO:后端展开数组计算地址仅需要针对GEP指令展开
|
2025-07-20 15:33:58 +08:00 |
|
rain2133
|
18e7cbd413
|
Merge branch 'backend' into SCCP
|
2025-07-20 13:00:15 +08:00 |
|
Lixuanwang
|
80dee78f04
|
[backend]引入后端pass管理器
|
2025-07-20 12:45:52 +08:00 |
|
Lixuanwang
|
d7fb017550
|
Merge branch 'backend-llir' into backend
|
2025-07-19 18:00:42 +08:00 |
|
Lixuanwang
|
9528335a04
|
[backend-llir]修复了许多重构的bug
|
2025-07-19 17:50:14 +08:00 |
|
Lixuanwang
|
d4a6996d74
|
[backend]重构了后端
|
2025-07-19 16:06:35 +08:00 |
|
rain2133
|
36cfd2f64d
|
先将SCCP中重构IR的部分移植到backend
|
2025-07-19 15:00:04 +08:00 |
|
Lixuanwang
|
75e61bf274
|
[backend-llir]引入了LLIR定义
|
2025-07-19 14:29:57 +08:00 |
|
rain2133
|
8f1e477e73
|
暂存
|
2025-07-19 14:23:57 +08:00 |
|
Lixuanwang
|
c8308047df
|
[backend]引入了Memset指令在后端的展开
|
2025-07-19 13:52:09 +08:00 |
|
rain2133
|
10b011a1de
|
[fix]修复部分常量构建,[Pass]建立Pass基类和管理器,预重构优化遍结构
|
2025-07-18 21:28:36 +08:00 |
|
Lixuanwang
|
3657c08644
|
[backend]引入新的活跃性分析
|
2025-07-18 20:24:47 +08:00 |
|
rain2133
|
34b5a93aaf
|
[Mem2Reg]重构SSA提升
|
2025-07-18 18:17:45 +08:00 |
|
rain2133
|
a5d97185e1
|
[IR]修复IR报错,调整结构。
|
2025-07-18 18:17:22 +08:00 |
|
rain2133
|
fdc946c1b5
|
[IR]重构常量定义,引入undefvalue定义,修改常量方法使用尽量适配旧版
|
2025-07-18 16:40:16 +08:00 |
|
Lixuanwang
|
be8ca144d0
|
[backend]引入了新的pass,负责消除数组复杂地址访问
|
2025-07-18 00:10:10 +08:00 |
|
rain2133
|
725da2858d
|
[IR]指令构造器更新
|
2025-07-17 21:34:19 +08:00 |
|
rain2133
|
631ef80de2
|
[IR]phi指令重构,将block信息加入并提供新方法,后续需更改phi相关指令构建逻辑
|
2025-07-17 19:01:02 +08:00 |
|
rain2133
|
77fae4d662
|
[CFG]增加分支优化,为SCCP调用做铺垫,预备修改phi定义
|
2025-07-17 16:50:09 +08:00 |
|
rain2133
|
009f54863e
|
[CFG]CFG优化方法转换为静态方法,方便其他优化遍调用,TODO:简化条件分支
|
2025-07-17 15:54:37 +08:00 |
|
rain2133
|
f7e318e623
|
[SCCP]初步构建SCCP,.cpp仍不完善暂不commit
|
2025-07-16 22:01:37 +08:00 |
|
rain2133
|
00348c1931
|
修改CFG优化的文件名,修改phidel标签
|
2025-07-16 22:01:37 +08:00 |
|
rain2133
|
5a6cfbee1e
|
[SysYIROptUtils]增加通用优化工具类,修改相关代码
|
2025-07-16 22:01:37 +08:00 |
|
Lixuanwang
|
f4d599a567
|
Merge remote-tracking branch 'origin/loopinfo'
|
2025-07-16 13:17:32 +08:00 |
|
rain2133
|
50fd9cffe9
|
[IRPrinter&DCE]修改定义方便调试打印,在DEC中增加调试信息
|
2025-07-16 13:04:05 +08:00 |
|
LixuanWang
|
bd7f6ea6f6
|
[deploy]移除了Backend.h和.cpp
|
2025-07-16 10:37:19 +08:00 |
|
LixuanWang
|
bb1602aa5f
|
[deploy]把Antlr生成的代码直接放到源代码文件夹中
|
2025-07-16 10:32:18 +08:00 |
|
rain2133
|
3419f84898
|
Merge remote-tracking branch 'origin/backend' into loopinfo
|
2025-07-15 13:09:55 +08:00 |
|
rain2133
|
ede6465e8c
|
[IR]:增加默认添加ret指令逻辑
|
2025-07-15 12:53:03 +08:00 |
|
Lixuanwang
|
a509dabbf0
|
[backend]解决了数组访存地址计算问题,加入了参数控制的中端、后端调试选项
|
2025-07-15 11:32:53 +08:00 |
|
rain2133
|
0d23475aa1
|
[死代码删除]:保证扩展性、模块化构建死代码删除,包括消除无用store,alloca,load,globalval,mem2reg引入的无用alloca以及reg2mem导致的store-load-store冗余存储
|
2025-06-25 15:33:25 +08:00 |
|
rain2133
|
b12732f10d
|
修复分析器逻辑,保证优化遍共享一个分析器(主要是在mem2reg)
|
2025-06-25 15:30:28 +08:00 |
|
rain2133
|
1e06c5a446
|
debugging
|
2025-06-25 14:00:27 +08:00 |
|
rain2133
|
050113d31d
|
增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令
|
2025-06-25 13:17:16 +08:00 |
|
rain2133
|
4fabcc9952
|
mem2reg流程基本跑通,修复phi函数打印,需要删除调试print
|
2025-06-25 12:23:59 +08:00 |
|
rain2133
|
bd0b624e87
|
debugging
|
2025-06-25 02:22:16 +08:00 |
|
rain2133
|
ac7644f450
|
添加数据流分析类,实现前向后向分析的模板动作,实现活跃变量分析,基本借鉴学长代码,后续可优化实现
|
2025-06-24 23:45:43 +08:00 |
|
rain2133
|
3dbb394bc2
|
初步构建分析器,增加控制流分析,实现支配节点计算,支配树构建,支配边界计算,为后续Mem2reg做准备
|
2025-06-24 22:39:20 +08:00 |
|
rain2133
|
73dd8eba22
|
删除IR中关于分析的属性,准备建立分析器
|
2025-06-24 10:18:29 +08:00 |
|
rain2133
|
10b43fc90d
|
修复若干bug
|
2025-06-23 17:04:45 +08:00 |
|
rain2133
|
3d233ff199
|
基本完成CFG优化(IR修复)
|
2025-06-23 16:25:52 +08:00 |
|
rain2133
|
568e9af626
|
IRoptpre 初步构建
|
2025-06-23 13:17:15 +08:00 |
|
rain2133
|
63fc92dcbd
|
数组命名修复
|
2025-06-23 11:35:44 +08:00 |
|
rain2133
|
9d8930f5df
|
fix % repeat in IR print
|
2025-06-23 00:22:15 +08:00 |
|
rain2133
|
496e2abfb6
|
构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复
|
2025-06-22 17:59:19 +08:00 |
|