Commit Graph

  • 5bfa6d72a2 Merge branch 'midend' into backend Lixuanwang 2025-07-25 22:25:45 +08:00
  • 14fb3dbe48 [midend][backend-GEP]解决了一个32/64位宽的错误问题 Lixuanwang 2025-07-25 22:23:26 +08:00
  • 04c5c6b44d [midend-mem2reg]修复assignstmt对lvalue的错误解析(lvaue会被exp解释为值,而被assign解释为地址) rain2133 2025-07-25 20:00:41 +08:00
  • e2c97fd171 [miden]DCE引入ctx避免重复运行遍导致的状态污染。修复天然活跃判断条件 rain2133 2025-07-25 16:33:18 +08:00
  • 12f63a0bf5 [midend]解决标签重名问题 rain2133 2025-07-25 12:35:35 +08:00
  • d50912ee4c [midend]后端适配GEP Lixuanwang 2025-07-25 12:00:47 +08:00
  • 259d71cde5 Merge branch 'midend' of gitee.com:lixuanwang/mysysy into midend Lixuanwang 2025-07-25 11:18:12 +08:00
  • 1e6f6ed711 [midend] GEP类型推断函数getIndexedType逻辑修复,增加数组type缓存池避免相同type ==操作返回假,修复实参形参类型转换判断逻辑,starttime stoptime提供支持(待后端测试) rain2133 2025-07-25 03:26:10 +08:00
  • 96c6b0ab6e [midend]修复函数参数为数组指针的退化问题,能够正确区分局部变量和函数参数并生成正确的GEP指令 rain2133 2025-07-25 01:53:49 +08:00
  • 10a533b0cc [backend]添加了库 Lixuanwang 2025-07-24 21:04:20 +08:00
  • 5f8bf15d4d [midend]添加了库 Lixuanwang 2025-07-24 21:02:28 +08:00
  • 18dc8dbfee [midend]修改注释 rain2133 2025-07-24 17:05:56 +08:00
  • 9c56bc1310 [midend]修改GEP指令定义,更靠近llvm ir设计,增加自动推断类型函数,修复generator中错误生成ir的逻辑 rain2133 2025-07-24 17:02:29 +08:00
  • c68b031c01 [midend]修复全局数组类型问题 rain2133 2025-07-24 15:22:38 +08:00
  • 2556ab7315 [midend]修复getanalysisusagee缺失定义,修复数组初始化错误 rain2133 2025-07-24 15:04:29 +08:00
  • 4b9d067c12 [midend]部分DCE遍实现(传播活跃代码),修改优化遍运行逻辑,TODO:完善优化遍的getAnalysisUsage,删除无用代码 rain2133 2025-07-24 14:36:33 +08:00
  • ef4bdfc8eb [deploy]部署版本2 deploy-20250724 Lixuanwang 2025-07-24 13:30:21 +08:00
  • f4d231b989 [midend]添加了后端中对GEP指令的支持 Lixuanwang 2025-07-24 00:39:11 +08:00
  • 56b376914b Merge branch 'backend' into midend Lixuanwang 2025-07-23 19:30:19 +08:00
  • 2157cf6aa6 [midend]修复了一个Pass相关的编译错误 Lixuanwang 2025-07-23 19:12:04 +08:00
  • 0e492cd6d7 [backend]修复了函数序言的根本性错误 Lixuanwang 2025-07-23 18:43:40 +08:00
  • 87d38be255 [midend]更新遍静态ID定义方法, 注册遍模板函数重构(针对遍的不同构造方法), 修复phi指令更新引起的旧代码错误, 将CFG优化适配到现有终端框架中, 独立CFG优化方法使得其他优化遍能独立调用, usedelete方法回调取消删除功能。 IRGenerator代码风格修改。 rain2133 2025-07-23 17:19:11 +08:00
  • 2040670f8c [backend]添加了DAG图打印函数;为分支指令引入了延迟物化;添加了函数参数溢出到栈的处理逻辑 Lixuanwang 2025-07-22 22:50:25 +08:00
  • 3df3d7a097 [midend]通过编译,TODO:验证正确性 rain2133 2025-07-22 22:38:47 +08:00
  • b20bda2f52 [backend]引入了栈上的20字节安全区 Lixuanwang 2025-07-22 21:36:22 +08:00
  • f61b51b2fa [midend]优化中端框架,移除无用旧代码,ignore格式文件 rain2133 2025-07-22 21:25:07 +08:00
  • 20a5c5cbfb [backend]增加了一个在虚拟机内部单文件调试的脚本 Lixuanwang 2025-07-22 02:25:30 +08:00
  • cf88ca77cb [backend]修复了一个全局数组地址的计算问题 Lixuanwang 2025-07-22 00:16:37 +08:00
  • fd6fe22020 [backend]增加了对全局数组的访存地址展开 Lixuanwang 2025-07-22 00:11:42 +08:00
  • e8fe710c26 [backend]更新了测试脚本,限制最大打印行数,避免糟蹋终端输出 Lixuanwang 2025-07-22 00:09:41 +08:00
  • 9c87cb397b [backend]解决了非零数组初始化不正确的问题 Lixuanwang 2025-07-22 00:07:54 +08:00
  • c45938d41d Merge branch 'backend' of gitee.com:lixuanwang/mysysy into backend Lixuanwang 2025-07-21 17:49:09 +08:00
  • 3baccbc03a [backend]解决了测试程序可能的挂起问题,引入了用于单个用例测试的新脚本 Lixuanwang 2025-07-21 17:49:06 +08:00
  • 24d8e730f1 [backend]更新了测试脚本,减少测试进程卡死情况 Lixuanwang 2025-07-21 17:36:22 +08:00
  • bbfbf96b5e [backend]解决了重构后数组初始化不正确的问题 Lixuanwang 2025-07-21 16:27:47 +08:00
  • a72fc541fb [midend]活跃变量分析,CFG优化遍重写。还未跑通,暂存 rain2133 2025-07-21 15:20:46 +08:00
  • 550f4017be [midend]重构中端,建立遍管理器,注册器等,初步构建支配树分析遍,增加基本块方法 rain2133 2025-07-21 15:19:38 +08:00
  • f7e811b756 [backend]解决了标签打印问题 Lixuanwang 2025-07-21 14:44:48 +08:00
  • 88604c1f94 [IR]消除Falltrhough现象 [IR]优化生成Ret指令逻辑 [README]添加TODO表 SCCP rain2133 2025-07-20 18:23:48 +08:00
  • de696b2b53 [IR]重构数组地址相关指令 增加GEP指令以及相关方法 新增数组Array Type 删除无用指令(GetSubArray,LA) 删除冗余类定义(Lval) 修复中间代码生成逻辑 测试通过所以test目录下的文件 TODO:后端展开数组计算地址仅需要针对GEP指令展开 rain2133 2025-07-20 15:33:58 +08:00
  • 18e7cbd413 Merge branch 'backend' into SCCP rain2133 2025-07-20 13:00:15 +08:00
  • 20cd16bf52 暂存2 rain2133 2025-07-20 12:54:19 +08:00
  • 80dee78f04 [backend]引入后端pass管理器 Lixuanwang 2025-07-20 12:45:52 +08:00
  • c2153b6fab [deploy]部署版本1 deploy-20250720 Lixuanwang 2025-07-20 00:10:24 +08:00
  • d7fb017550 Merge branch 'backend-llir' into backend Lixuanwang 2025-07-19 18:00:42 +08:00
  • c4b18a70db [backend]准备合并backend-llir Lixuanwang 2025-07-19 17:59:45 +08:00
  • 9528335a04 [backend-llir]修复了许多重构的bug backend-llir Lixuanwang 2025-07-19 17:50:14 +08:00
  • 0d5748e9c5 [IR]修复初始化数组指令的逻辑,更新IR常量定义。 rain2133 2025-07-19 16:18:05 +08:00
  • d4a6996d74 [backend]重构了后端 Lixuanwang 2025-07-19 16:06:35 +08:00
  • 36cfd2f64d 先将SCCP中重构IR的部分移植到backend rain2133 2025-07-19 15:00:04 +08:00
  • 75e61bf274 [backend-llir]引入了LLIR定义 Lixuanwang 2025-07-19 14:29:57 +08:00
  • 8f1e477e73 暂存 rain2133 2025-07-19 14:23:57 +08:00
  • c8308047df [backend]引入了Memset指令在后端的展开 Lixuanwang 2025-07-19 13:52:09 +08:00
  • 86d1de6696 [backend]向脚本添加了打印不通过测例的功能 Lixuanwang 2025-07-19 12:00:02 +08:00
  • 69d27f058d [backend]将testdata/下的测例替换为了赛方测试用例,更新了测试脚本 Lixuanwang 2025-07-19 01:44:37 +08:00
  • 6335abe806 [backend]修复了引入常量重质化后全局常量加载指令的缺失问题 Lixuanwang 2025-07-19 00:46:46 +08:00
  • 6ed5965b29 [backend]数组访存问题基本修复 Lixuanwang 2025-07-19 00:32:47 +08:00
  • 0f26be3586 [backend]添加了对主函数中新引入的调试信息打印的控制,修改了测试脚本为云平台测试的参数,调整了73_int_io测例的输入文件的格式 Lixuanwang 2025-07-18 22:50:06 +08:00
  • d38ec13cbd [backend]修复了函数调用参数为常数时,参数传递有误的bug Lixuanwang 2025-07-18 21:54:24 +08:00
  • 10b011a1de [fix]修复部分常量构建,[Pass]建立Pass基类和管理器,预重构优化遍结构 rain2133 2025-07-18 21:28:36 +08:00
  • e8660120cc [backend]删除了后端对数组访存的地址展开,因为已经在IR中实现 Lixuanwang 2025-07-18 20:48:59 +08:00
  • 3657c08644 [backend]引入新的活跃性分析 Lixuanwang 2025-07-18 20:24:47 +08:00
  • 1bcb5eba2a [backend]去除了错误的寄存器分配机制 Lixuanwang 2025-07-18 18:50:21 +08:00
  • fc62446b40 Merge branch 'backend' of gitee.com:lixuanwang/mysysy into backend Lixuanwang 2025-07-18 18:48:44 +08:00
  • fedb4b0a9f [backend]修复了栈分配空间大小不考虑数组的错误 Lixuanwang 2025-07-18 18:48:38 +08:00
  • 4bf4c98787 [backend]修复了栈分配空间大小不考虑数组的错误 Lixuanwang 2025-07-18 18:44:13 +08:00
  • 34b5a93aaf [Mem2Reg]重构SSA提升 rain2133 2025-07-18 18:17:45 +08:00
  • a5d97185e1 [IR]修复IR报错,调整结构。 rain2133 2025-07-18 18:17:22 +08:00
  • fdc946c1b5 [IR]重构常量定义,引入undefvalue定义,修改常量方法使用尽量适配旧版 rain2133 2025-07-18 16:40:16 +08:00
  • 198c1974e3 [backend] 新pass ACE修改完毕 Lixuanwang 2025-07-18 13:04:02 +08:00
  • b90e4faa6a [backend] 删除了部分错误代码 Lixuanwang 2025-07-18 01:37:29 +08:00
  • be8ca144d0 [backend]引入了新的pass,负责消除数组复杂地址访问 Lixuanwang 2025-07-18 00:10:10 +08:00
  • 725da2858d [IR]指令构造器更新 rain2133 2025-07-17 21:34:19 +08:00
  • 631ef80de2 [IR]phi指令重构,将block信息加入并提供新方法,后续需更改phi相关指令构建逻辑 rain2133 2025-07-17 19:01:02 +08:00
  • 77fae4d662 [CFG]增加分支优化,为SCCP调用做铺垫,预备修改phi定义 rain2133 2025-07-17 16:50:09 +08:00
  • 009f54863e [CFG]CFG优化方法转换为静态方法,方便其他优化遍调用,TODO:简化条件分支 rain2133 2025-07-17 15:54:37 +08:00
  • f7e318e623 [SCCP]初步构建SCCP,.cpp仍不完善暂不commit rain2133 2025-07-16 21:55:28 +08:00
  • 00348c1931 修改CFG优化的文件名,修改phidel标签 rain2133 2025-07-16 21:54:36 +08:00
  • 5a6cfbee1e [SysYIROptUtils]增加通用优化工具类,修改相关代码 rain2133 2025-07-16 14:21:00 +08:00
  • 20acdc910d 修复了引入的部分bug Lixuanwang 2025-07-16 17:40:07 +08:00
  • f4d599a567 Merge remote-tracking branch 'origin/loopinfo' Lixuanwang 2025-07-16 13:17:32 +08:00
  • 50fd9cffe9 [IRPrinter&DCE]修改定义方便调试打印,在DEC中增加调试信息 loopinfo rain2133 2025-07-16 13:04:05 +08:00
  • 3ce6cd086a Merge branch 'master' of https://gitlab.eduxiji.net/T202590002206578/mysysy Lixuanwang 2025-07-16 12:49:46 +08:00
  • 1727e7259b 添加了项目部署脚本,修改了ReadMe Lixuanwang 2025-07-16 12:16:52 +08:00
  • 8c80b732f3 [deploy]修正了本地不能通过编译的bug,大幅修改了主函数,使之支持云平台测试参数 LixuanWang 2025-07-16 11:18:43 +08:00
  • bd7f6ea6f6 [deploy]移除了Backend.h和.cpp LixuanWang 2025-07-16 10:37:19 +08:00
  • bb1602aa5f [deploy]把Antlr生成的代码直接放到源代码文件夹中 LixuanWang 2025-07-16 10:32:18 +08:00
  • b08b7d9fa6 [deploy]移除了导致编译错误的Antlr目录 LixuanWang 2025-07-16 10:07:09 +08:00
  • c5fa366108 [deploy]移除了导致编译错误的旧版本Antlr目录 LixuanWang 2025-07-16 09:44:28 +08:00
  • 2de16da306 binary name changed to compiler CGH0S7 2025-07-16 02:06:19 +08:00
  • e33a926562 Merge branch 'backend' Lixuanwang 2025-07-15 15:04:20 +08:00
  • 3419f84898 Merge remote-tracking branch 'origin/backend' into loopinfo rain2133 2025-07-15 13:09:55 +08:00
  • ede6465e8c [IR]:增加默认添加ret指令逻辑 rain2133 2025-07-15 12:53:03 +08:00
  • a509dabbf0 [backend]解决了数组访存地址计算问题,加入了参数控制的中端、后端调试选项 Lixuanwang 2025-07-15 11:32:53 +08:00
  • 11f45be21e 修复了虚拟机内测试脚本的格式问题 Lixuanwang 2025-07-14 18:07:20 +08:00
  • e576f0a21e Merge remote-tracking branch 'origin/DCE' into backend lixuanwang 2025-06-27 22:44:08 +08:00
  • 34ffa39b8a [backend] modified some comments and created a shell srcipt for test inside riscv64-vms Lixuanwang 2025-06-25 20:59:40 +08:00
  • d06c5efae1 [backend] fixed bugs of deadcode elimation Lixuanwang 2025-06-25 18:56:08 +08:00
  • 019cb6dc0d [backend] debugging array Lixuanwang 2025-06-25 17:07:37 +08:00
  • d9fa9e787a 删除注释 DCE rain2133 2025-06-25 16:33:43 +08:00