|
|
0d23475aa1
|
[死代码删除]:保证扩展性、模块化构建死代码删除,包括消除无用store,alloca,load,globalval,mem2reg引入的无用alloca以及reg2mem导致的store-load-store冗余存储
|
2025-06-25 15:33:25 +08:00 |
|
|
|
b12732f10d
|
修复分析器逻辑,保证优化遍共享一个分析器(主要是在mem2reg)
|
2025-06-25 15:30:28 +08:00 |
|
|
|
1e06c5a446
|
debugging
|
2025-06-25 14:00:27 +08:00 |
|
|
|
050113d31d
|
增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令
|
2025-06-25 13:17:16 +08:00 |
|
|
|
3dc7c274cf
|
修复支配树生成算法
|
2025-06-25 12:42:28 +08:00 |
|
|
|
e6c4e91956
|
fix % repeat
|
2025-06-25 12:27:02 +08:00 |
|
|
|
4fabcc9952
|
mem2reg流程基本跑通,修复phi函数打印,需要删除调试print
|
2025-06-25 12:23:59 +08:00 |
|
|
|
bd0b624e87
|
debugging
|
2025-06-25 02:22:16 +08:00 |
|
|
|
ac7644f450
|
添加数据流分析类,实现前向后向分析的模板动作,实现活跃变量分析,基本借鉴学长代码,后续可优化实现
|
2025-06-24 23:45:43 +08:00 |
|
|
|
3dbb394bc2
|
初步构建分析器,增加控制流分析,实现支配节点计算,支配树构建,支配边界计算,为后续Mem2reg做准备
|
2025-06-24 22:39:20 +08:00 |
|
|
|
d50f76a770
|
修复IR函数参数输出,变量命名
|
2025-06-24 16:39:42 +08:00 |
|
|
|
73dd8eba22
|
删除IR中关于分析的属性,准备建立分析器
|
2025-06-24 10:18:29 +08:00 |
|
|
|
10b43fc90d
|
修复若干bug
|
2025-06-23 17:04:45 +08:00 |
|
|
|
3d233ff199
|
基本完成CFG优化(IR修复)
|
2025-06-23 16:25:52 +08:00 |
|
|
|
568e9af626
|
IRoptpre 初步构建
|
2025-06-23 13:17:15 +08:00 |
|
|
|
63fc92dcbd
|
数组命名修复
|
2025-06-23 11:35:44 +08:00 |
|
|
|
29f75e60a5
|
Merge remote-tracking branch 'origin/IRPrinter' into IRPrinter
|
2025-06-23 00:24:19 +08:00 |
|
|
|
9d8930f5df
|
fix % repeat in IR print
|
2025-06-23 00:22:15 +08:00 |
|
|
|
3da2f3ec80
|
修复函数类型判断,终端跑通所有测试代码。Printer格式需要修复
|
2025-06-22 18:40:33 +08:00 |
|
|
|
496e2abfb6
|
构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复
|
2025-06-22 17:59:19 +08:00 |
|
|
|
4711fb603b
|
fixed bugs brought out by merging
|
2025-06-22 14:39:38 +08:00 |
|
|
|
dda8bbe444
|
Merge branch 'array_add'
|
2025-06-22 14:24:00 +08:00 |
|
|
|
d90330af3f
|
add Utils::initExternalFunction
|
2025-06-22 14:14:02 +08:00 |
|
|
|
25a8c72a9b
|
[backend] it works 1.0
|
2025-06-22 14:06:14 +08:00 |
|
|
|
4828c18f96
|
前端基本构建完毕,build前端部分无报错,argument类删除后端报错,llvmIR输出待完成
|
2025-06-22 00:25:43 +08:00 |
|
|
|
73b382773a
|
暂存旧符号表结构定义,TODO.md中添加相关说明
|
2025-06-21 18:07:32 +08:00 |
|
|
|
0a04c816cf
|
更新IR,.g4修改
|
2025-06-21 18:06:29 +08:00 |
|
|
|
232ed6d023
|
[backend] introduced rv32 backend
|
2025-06-21 17:26:50 +08:00 |
|
|
|
3ed1c7fecd
|
更改前置声明,IR生成更新
|
2025-06-21 16:39:13 +08:00 |
|
|
|
ba5f2a0620
|
删除格式化功能
|
2025-06-21 15:40:00 +08:00 |
|
|
|
8109d44232
|
工具类方法部分实现,实现部分IR生成
|
2025-06-21 14:33:56 +08:00 |
|
|
|
2b038e671b
|
修复bug
|
2025-06-21 14:33:22 +08:00 |
|
|
|
c1583e447d
|
更改g4文件,优化IR生成流程
|
2025-06-21 13:44:51 +08:00 |
|
|
|
30f89bba23
|
更新IR结构,重写IRBuilder
|
2025-06-21 12:53:41 +08:00 |
|
|
|
c54543bff3
|
更新目录结构,修改IR结构,部分修复IR生成
|
2025-06-20 22:46:04 +08:00 |
|
|
|
1de8c0e7d7
|
引入了常量池优化,修改constvalue类并对IR生成修复,能够编译通过
|
2025-06-19 00:18:58 +08:00 |
|
|
|
1aa785efc3
|
add arraytype def
|
2025-06-16 20:56:32 +08:00 |
|
|
|
5727d3bde5
|
[IR Gen] debugging SIGSEGV
|
2025-06-09 21:11:17 +08:00 |
|
|
|
3c5fb7d17b
|
[IR Gen] fixed build errors
|
2025-06-09 20:06:05 +08:00 |
|
|
|
7d08763b2e
|
[IR gen] debugging
|
2025-06-09 19:30:37 +08:00 |
|
|
|
c47d522e3a
|
[IR Gen] debugging expreimental IR generator
|
2025-06-09 19:29:59 +08:00 |
|
|
|
5e84961dcf
|
[IR gen] introduced IR builder into LLVMIRGenerator
|
2025-06-09 00:47:47 +08:00 |
|
|
|
df209f976e
|
fixed bugs brought out by merging
|
2025-05-30 02:13:17 +08:00 |
|
|
|
969c83125d
|
Merge branch 'lab2-IRGen'
|
2025-05-30 02:06:43 +08:00 |
|
|
|
fbb2f5f310
|
replace "i++;" with "i = i + 1;" in testcase 20
|
2025-05-30 01:57:24 +08:00 |
|
|
|
77f79dcbaf
|
merging, fixed some bugs
|
2025-05-30 01:34:47 +08:00 |
|
|
|
551d727733
|
merging
|
2025-05-29 22:09:16 +08:00 |
|
|
|
1c799bd04f
|
merging
|
2025-05-29 19:25:46 +08:00 |
|
|
|
09d67fdaf1
|
merging branch lab2-IRGen into master
|
2025-05-29 17:14:42 +08:00 |
|
|
|
1e47af2771
|
merging branch lab2-IRGen into master
|
2025-05-29 16:09:17 +08:00 |
|