Commit Graph

  • 97410d9417 删除调试信息输出 rain2133 2025-06-25 16:07:29 +08:00
  • 44fb098aff Merge branch 'DCE' into backend Lixuanwang 2025-06-25 16:04:42 +08:00
  • 6f897d797a [backend] debugging array Lixuanwang 2025-06-25 16:02:41 +08:00
  • 0d23475aa1 [死代码删除]:保证扩展性、模块化构建死代码删除,包括消除无用store,alloca,load,globalval,mem2reg引入的无用alloca以及reg2mem导致的store-load-store冗余存储 rain2133 2025-06-25 15:33:25 +08:00
  • b12732f10d 修复分析器逻辑,保证优化遍共享一个分析器(主要是在mem2reg) rain2133 2025-06-25 15:30:28 +08:00
  • 15a80bd5cd [backend] fix the logical error of constants in interference graph construction Lixuanwang 2025-06-25 14:35:20 +08:00
  • c8587a6d0b [backend] introduced riscv64 Lixuanwang 2025-06-25 13:07:02 +08:00
  • 4c9c25aadc 修复break,continue的IR生成 rain2133 2025-06-25 14:15:54 +08:00
  • 1e06c5a446 debugging rain2133 2025-06-25 14:00:27 +08:00
  • 050113d31d 增加Reg2Mem,但是会生成死存储指令,需要死代码删除支持识别死存储指令 Mem2Reg rain2133 2025-06-25 13:17:16 +08:00
  • 3dc7c274cf 修复支配树生成算法 rain2133 2025-06-25 12:42:28 +08:00
  • e6c4e91956 fix % repeat rain2133 2025-06-25 12:27:02 +08:00
  • 4fabcc9952 mem2reg流程基本跑通,修复phi函数打印,需要删除调试print rain2133 2025-06-25 12:23:59 +08:00
  • 9bb300ece5 Created a shell script for testing Lixuanwang 2025-06-25 06:27:31 +08:00
  • c04f508171 [backend] implemented call function parameter passing using registers Lixuanwang 2025-06-25 06:27:05 +08:00
  • 24913641f2 [backend] fix bugs of not rain2133 2025-06-25 02:24:45 +08:00
  • bd0b624e87 debugging rain2133 2025-06-25 02:22:16 +08:00
  • af1ad795ff [backend] fix bugs of unary ops Lixuanwang 2025-06-25 01:07:13 +08:00
  • ac7644f450 添加数据流分析类,实现前向后向分析的模板动作,实现活跃变量分析,基本借鉴学长代码,后续可优化实现 AnalysisPass rain2133 2025-06-24 23:45:43 +08:00
  • eadeadfbad [backend] introduced float instrs and regs Lixuanwang 2025-06-24 23:24:09 +08:00
  • 430224cfef Merge commit 'd50f76a77024d830c3dd7311ed910d689c9d5f16' into backend Lixuanwang 2025-06-24 22:52:01 +08:00
  • 3dbb394bc2 初步构建分析器,增加控制流分析,实现支配节点计算,支配树构建,支配边界计算,为后续Mem2reg做准备 rain2133 2025-06-24 22:39:20 +08:00
  • d50f76a770 修复IR函数参数输出,变量命名 rain2133 2025-06-24 16:39:42 +08:00
  • 5222027b68 [backend] almost all test passed Lixuanwang 2025-06-24 16:03:39 +08:00
  • cd91cc98ed Created some shell scripts for testing Lixuanwang 2025-06-24 15:13:02 +08:00
  • f72b9ccc00 [backend] fixed bugs of testcase1 Lixuanwang 2025-06-24 15:12:07 +08:00
  • 385f2f9712 [backend] fixed the bug of physical register allocation error Lixuanwang 2025-06-24 14:15:02 +08:00
  • 73dd8eba22 删除IR中关于分析的属性,准备建立分析器 rain2133 2025-06-24 10:18:29 +08:00
  • b2b88ee511 [backend-beta] saving for simpler implementation for register allocation backend-beta Lixuanwang 2025-06-24 05:02:11 +08:00
  • 395e6e4003 [backend] fixed many bugs Lixuanwang 2025-06-24 03:23:45 +08:00
  • 20cc08708a [backend] introduced debug option Lixuanwang 2025-06-24 02:56:17 +08:00
  • 942cb32976 [backend] fixed bugs Lixuanwang 2025-06-24 00:42:14 +08:00
  • ac7569d890 Merge branch 'IROptPre' into backend Lixuanwang 2025-06-24 00:40:36 +08:00
  • 11cd32e6df [backend] fixed some bugs Lixuanwang 2025-06-24 00:35:38 +08:00
  • 617244fae7 [backend] switch to simpler implementation for inst selection Lixuanwang 2025-06-24 00:30:33 +08:00
  • 3c3f48ee87 [backend] fixed 1 segmentation fault Lixuanwang 2025-06-23 22:38:29 +08:00
  • 10b43fc90d 修复若干bug IROptPre rain2133 2025-06-23 17:04:45 +08:00
  • ab3eb253f9 [backend] debugging segmentation fault caused by branch instr Lixuanwang 2025-06-23 17:02:29 +08:00
  • 3d233ff199 基本完成CFG优化(IR修复) rain2133 2025-06-23 16:25:52 +08:00
  • 7d37bd7528 [backend] introduced DAG, GraphAlloc Lixuanwang 2025-06-23 15:38:01 +08:00
  • 568e9af626 IRoptpre 初步构建 rain2133 2025-06-23 13:17:15 +08:00
  • 63fc92dcbd 数组命名修复 rain2133 2025-06-23 11:35:44 +08:00
  • af00612376 [backend] supported if Lixuanwang 2025-06-23 06:16:19 +08:00
  • 29f75e60a5 Merge remote-tracking branch 'origin/IRPrinter' into IRPrinter IRPrinter rain2133 2025-06-23 00:24:19 +08:00
  • 9d8930f5df fix % repeat in IR print rain2133 2025-06-23 00:22:15 +08:00
  • 10e1476ba1 [backend] test01 passed ladev789 2025-06-22 20:05:34 +08:00
  • b94e87637a Merge remote-tracking branch 'origin/IRPrinter' into backend ladev789 2025-06-22 20:00:29 +08:00
  • 88a561177d [backend] incorrect asm output ladev789 2025-06-22 20:00:03 +08:00
  • 3da2f3ec80 修复函数类型判断,终端跑通所有测试代码。Printer格式需要修复 rain2133 2025-06-22 18:40:33 +08:00
  • 496e2abfb6 构建IR打印器,llvm风格,跑通大部分样例(9/10),待修复 rain2133 2025-06-22 17:59:19 +08:00
  • 4711fb603b fixed bugs brought out by merging lixuanwang 2025-06-22 14:39:38 +08:00
  • dda8bbe444 Merge branch 'array_add' lixuanwang 2025-06-22 14:24:00 +08:00
  • d90330af3f add Utils::initExternalFunction array_add rain2133 2025-06-22 14:14:02 +08:00
  • 25a8c72a9b [backend] it works 1.0 ladev789 2025-06-22 14:06:14 +08:00
  • 4828c18f96 前端基本构建完毕,build前端部分无报错,argument类删除后端报错,llvmIR输出待完成 rain2133 2025-06-22 00:25:43 +08:00
  • 73b382773a 暂存旧符号表结构定义,TODO.md中添加相关说明 rain2133 2025-06-21 18:07:32 +08:00
  • 0a04c816cf 更新IR,.g4修改 rain2133 2025-06-21 18:06:29 +08:00
  • 232ed6d023 [backend] introduced rv32 backend lixuanwang 2025-06-21 17:26:50 +08:00
  • 3ed1c7fecd 更改前置声明,IR生成更新 rain2133 2025-06-21 16:39:13 +08:00
  • ba5f2a0620 删除格式化功能 rain2133 2025-06-21 15:40:00 +08:00
  • 8109d44232 工具类方法部分实现,实现部分IR生成 rain2133 2025-06-21 14:33:56 +08:00
  • 2b038e671b 修复bug rain2133 2025-06-21 14:33:22 +08:00
  • c1583e447d 更改g4文件,优化IR生成流程 rain2133 2025-06-21 13:44:51 +08:00
  • 30f89bba23 更新IR结构,重写IRBuilder rain2133 2025-06-21 12:53:41 +08:00
  • c54543bff3 更新目录结构,修改IR结构,部分修复IR生成 rain2133 2025-06-20 22:46:04 +08:00
  • 1de8c0e7d7 引入了常量池优化,修改constvalue类并对IR生成修复,能够编译通过 rain2133 2025-06-19 00:18:58 +08:00
  • 1aa785efc3 add arraytype def rain2133 2025-06-16 20:56:32 +08:00
  • 5727d3bde5 [IR Gen] debugging SIGSEGV lixuanwang 2025-06-09 21:11:17 +08:00
  • 3c5fb7d17b [IR Gen] fixed build errors lixuanwang 2025-06-09 20:06:05 +08:00
  • 7d08763b2e [IR gen] debugging Lixuanwang 2025-06-09 19:30:37 +08:00
  • c47d522e3a [IR Gen] debugging expreimental IR generator Lixuanwang 2025-06-09 19:29:59 +08:00
  • 5e84961dcf [IR gen] introduced IR builder into LLVMIRGenerator Lixuanwang 2025-06-09 00:47:47 +08:00
  • df209f976e fixed bugs brought out by merging Lixuanwang 2025-05-30 02:13:17 +08:00
  • 969c83125d Merge branch 'lab2-IRGen' Lixuanwang 2025-05-30 02:06:43 +08:00
  • fbb2f5f310 replace "i++;" with "i = i + 1;" in testcase 20 Lixuanwang 2025-05-30 01:57:24 +08:00
  • 77f79dcbaf merging, fixed some bugs Lixuanwang 2025-05-30 01:34:47 +08:00
  • 551d727733 merging ladev789 2025-05-29 22:09:16 +08:00
  • 1c799bd04f merging ladev789 2025-05-29 19:25:46 +08:00
  • 09d67fdaf1 merging branch lab2-IRGen into master lixuanwang 2025-05-29 17:14:42 +08:00
  • 1e47af2771 merging branch lab2-IRGen into master Lixuanwang 2025-05-29 16:09:17 +08:00
  • bb73ce3b5a merging branch lab2-IRGen into master lixuanwang 2025-05-28 23:49:02 +08:00
  • f286845463 [lab3]addl movl ret passes clang test lab2-IRGen lixuanwang 2025-05-27 12:03:26 +08:00
  • 29aea7781f [lab3] add print support for functions, blocks and instructions lixuanwang 2025-05-27 11:43:14 +08:00
  • dc7202849c [lab3] add middle-end and backend with bugs to fix lixuanwang 2025-05-26 23:17:31 +08:00
  • 338e5ef9a4 Introduce middle-end Lixuanwang 2025-05-24 16:27:48 +08:00
  • ec8deeeebf [lab2][night release]temporary stable version 0.1 ladev789 2025-04-02 18:40:01 +08:00
  • 9f562aa0be [lab2]implemented while, break, continue ladev789 2025-04-01 17:50:17 +08:00
  • 9d619b11d7 [lab2]checkopint with "while, continue, break" not implemented ladev789 2025-03-31 20:46:04 +08:00
  • dfa396b06f [lab2]now 01_add.ll generated by sysy can be compiled to executable by clang ladev789 2025-03-31 03:54:39 +08:00
  • 90ba6db318 [lab2]IR-Gen implementation using given code by xxy Merge pull request !4 from Downright/master LixuanWang 2025-03-26 11:42:19 +00:00
  • a35c63245e Remove .vscode dir Downright 2025-03-26 18:34:36 +08:00
  • f01c38d3e8 commit 4 cmakelist and .gitignore Downright 2025-03-26 18:29:17 +08:00
  • f74d319399 pass test 11_add2 Downright 2025-03-26 11:44:34 +08:00
  • 1322ed8e08 gdb json Downright 2025-03-26 11:39:29 +08:00
  • 9bea0879e0 pass test1,but test2 segmentation fault Downright 2025-03-26 11:39:22 +08:00
  • 8a743a0036 [lab2]add a TODO table ladev789 2025-03-24 21:18:40 +08:00
  • 93607333ad [lab2]fixed a lot of bugs ladev789 2025-03-24 19:26:42 +08:00
  • 7f364abffb frame finished but bad_any_cast Downright 2025-03-24 19:06:49 +08:00
  • a36f73c8a2 add file Downright 2025-03-24 00:44:52 +08:00
  • 5567f82783 [lab2]修复了标签冗余错误,以及一些其他bug ladev789 2025-03-22 22:33:00 +08:00