Commit Graph

81 Commits

Author SHA1 Message Date
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
d50f76a770 修复IR函数参数输出,变量命名 2025-06-24 16:39:42 +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
29f75e60a5 Merge remote-tracking branch 'origin/IRPrinter' into IRPrinter 2025-06-23 00:24:19 +08:00
rain2133
9d8930f5df fix % repeat in IR print 2025-06-23 00:22:15 +08:00
rain2133
3da2f3ec80 修复函数类型判断,终端跑通所有测试代码。Printer格式需要修复 2025-06-22 18:40:33 +08:00
rain2133
496e2abfb6 构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复 2025-06-22 17:59:19 +08:00
lixuanwang
4711fb603b fixed bugs brought out by merging 2025-06-22 14:39:38 +08:00
lixuanwang
dda8bbe444 Merge branch 'array_add' 2025-06-22 14:24:00 +08:00
rain2133
d90330af3f add Utils::initExternalFunction 2025-06-22 14:14:02 +08:00
ladev789
25a8c72a9b [backend] it works 1.0 2025-06-22 14:06:14 +08:00
rain2133
4828c18f96 前端基本构建完毕,build前端部分无报错,argument类删除后端报错,llvmIR输出待完成 2025-06-22 00:25:43 +08:00
rain2133
73b382773a 暂存旧符号表结构定义,TODO.md中添加相关说明 2025-06-21 18:07:32 +08:00
rain2133
0a04c816cf 更新IR,.g4修改 2025-06-21 18:06:29 +08:00
lixuanwang
232ed6d023 [backend] introduced rv32 backend 2025-06-21 17:26:50 +08:00
rain2133
3ed1c7fecd 更改前置声明,IR生成更新 2025-06-21 16:39:13 +08:00
rain2133
ba5f2a0620 删除格式化功能 2025-06-21 15:40:00 +08:00
rain2133
8109d44232 工具类方法部分实现,实现部分IR生成 2025-06-21 14:33:56 +08:00
rain2133
2b038e671b 修复bug 2025-06-21 14:33:22 +08:00
rain2133
c1583e447d 更改g4文件,优化IR生成流程 2025-06-21 13:44:51 +08:00
rain2133
30f89bba23 更新IR结构,重写IRBuilder 2025-06-21 12:53:41 +08:00
rain2133
c54543bff3 更新目录结构,修改IR结构,部分修复IR生成 2025-06-20 22:46:04 +08:00
rain2133
1de8c0e7d7 引入了常量池优化,修改constvalue类并对IR生成修复,能够编译通过 2025-06-19 00:18:58 +08:00
rain2133
1aa785efc3 add arraytype def 2025-06-16 20:56:32 +08:00
lixuanwang
5727d3bde5 [IR Gen] debugging SIGSEGV 2025-06-09 21:11:17 +08:00
lixuanwang
3c5fb7d17b [IR Gen] fixed build errors 2025-06-09 20:06:05 +08:00
Lixuanwang
7d08763b2e [IR gen] debugging 2025-06-09 19:30:37 +08:00
Lixuanwang
c47d522e3a [IR Gen] debugging expreimental IR generator 2025-06-09 19:29:59 +08:00
Lixuanwang
5e84961dcf [IR gen] introduced IR builder into LLVMIRGenerator 2025-06-09 00:47:47 +08:00
Lixuanwang
df209f976e fixed bugs brought out by merging 2025-05-30 02:13:17 +08:00
Lixuanwang
969c83125d Merge branch 'lab2-IRGen' 2025-05-30 02:06:43 +08:00
Lixuanwang
fbb2f5f310 replace "i++;" with "i = i + 1;" in testcase 20 2025-05-30 01:57:24 +08:00
Lixuanwang
77f79dcbaf merging, fixed some bugs 2025-05-30 01:34:47 +08:00
ladev789
551d727733 merging 2025-05-29 22:09:16 +08:00
ladev789
1c799bd04f merging 2025-05-29 19:25:46 +08:00
lixuanwang
09d67fdaf1 merging branch lab2-IRGen into master 2025-05-29 17:14:42 +08:00
Lixuanwang
1e47af2771 merging branch lab2-IRGen into master 2025-05-29 16:09:17 +08:00
lixuanwang
bb73ce3b5a merging branch lab2-IRGen into master 2025-05-28 23:49:02 +08:00
lixuanwang
f286845463 [lab3]addl movl ret passes clang test 2025-05-27 12:03:26 +08:00
lixuanwang
29aea7781f [lab3] add print support for functions, blocks and instructions 2025-05-27 11:43:14 +08:00
lixuanwang
dc7202849c [lab3] add middle-end and backend with bugs to fix 2025-05-26 23:17:31 +08:00
Lixuanwang
338e5ef9a4 Introduce middle-end 2025-05-24 16:27:48 +08:00
ladev789
ec8deeeebf [lab2][night release]temporary stable version 0.1 2025-04-02 18:40:01 +08:00