Commit Graph

254 Commits

Author SHA1 Message Date
4fabcc9952 mem2reg流程基本跑通,修复phi函数打印,需要删除调试print 2025-06-25 12:23:59 +08:00
9bb300ece5 Created a shell script for testing 2025-06-25 06:27:31 +08:00
c04f508171 [backend] implemented call function parameter passing using registers 2025-06-25 06:27:05 +08:00
24913641f2 [backend] fix bugs of not 2025-06-25 02:24:45 +08:00
bd0b624e87 debugging 2025-06-25 02:22:16 +08:00
af1ad795ff [backend] fix bugs of unary ops 2025-06-25 01:07:13 +08:00
ac7644f450 添加数据流分析类,实现前向后向分析的模板动作,实现活跃变量分析,基本借鉴学长代码,后续可优化实现 2025-06-24 23:45:43 +08:00
eadeadfbad [backend] introduced float instrs and regs 2025-06-24 23:24:09 +08:00
430224cfef Merge commit 'd50f76a77024d830c3dd7311ed910d689c9d5f16' into backend 2025-06-24 22:52:01 +08:00
3dbb394bc2 初步构建分析器,增加控制流分析,实现支配节点计算,支配树构建,支配边界计算,为后续Mem2reg做准备 2025-06-24 22:39:20 +08:00
d50f76a770 修复IR函数参数输出,变量命名 2025-06-24 16:39:42 +08:00
5222027b68 [backend] almost all test passed 2025-06-24 16:03:39 +08:00
cd91cc98ed Created some shell scripts for testing 2025-06-24 15:13:02 +08:00
f72b9ccc00 [backend] fixed bugs of testcase1 2025-06-24 15:12:07 +08:00
385f2f9712 [backend] fixed the bug of physical register allocation error 2025-06-24 14:15:02 +08:00
73dd8eba22 删除IR中关于分析的属性,准备建立分析器 2025-06-24 10:18:29 +08:00
395e6e4003 [backend] fixed many bugs 2025-06-24 03:23:45 +08:00
20cc08708a [backend] introduced debug option 2025-06-24 02:56:17 +08:00
942cb32976 [backend] fixed bugs 2025-06-24 00:42:14 +08:00
ac7569d890 Merge branch 'IROptPre' into backend 2025-06-24 00:40:36 +08:00
11cd32e6df [backend] fixed some bugs 2025-06-24 00:35:38 +08:00
617244fae7 [backend] switch to simpler implementation for inst selection 2025-06-24 00:30:33 +08:00
3c3f48ee87 [backend] fixed 1 segmentation fault 2025-06-23 22:38:29 +08:00
10b43fc90d 修复若干bug 2025-06-23 17:04:45 +08:00
ab3eb253f9 [backend] debugging segmentation fault caused by branch instr 2025-06-23 17:02:29 +08:00
3d233ff199 基本完成CFG优化(IR修复) 2025-06-23 16:25:52 +08:00
7d37bd7528 [backend] introduced DAG, GraphAlloc 2025-06-23 15:38:01 +08:00
568e9af626 IRoptpre 初步构建 2025-06-23 13:17:15 +08:00
63fc92dcbd 数组命名修复 2025-06-23 11:35:44 +08:00
af00612376 [backend] supported if 2025-06-23 06:16:19 +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
10e1476ba1 [backend] test01 passed 2025-06-22 20:05:34 +08:00
b94e87637a Merge remote-tracking branch 'origin/IRPrinter' into backend 2025-06-22 20:00:29 +08:00
88a561177d [backend] incorrect asm output 2025-06-22 20:00:03 +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