Commit Graph

  • debda205cc [testdata]将官方提供的RV错误样例输入替换成了ARM中正确的输入 midend-LoopAnalysis rain2133 2025-08-12 16:24:24 +08:00
  • baef82677b [midend-LICM]将能够外提的循环不变量进行Kanh拓扑排序保证外提后的计算顺序正确。 rain2133 2025-08-12 16:18:00 +08:00
  • f634273852 [midend-LICM]优化了特征分析中对循环不变量的识别,实现了LICM遍,格式化副作用分析代码 rain2133 2025-08-12 15:53:57 +08:00
  • 70f6a25ebc [midend-LoopAnalysis]修复循环规范遍bug,修正部分打印格式, rain2133 2025-08-12 12:34:07 +08:00
  • 8cb807c8b9 [midend-LoopAnalysis]修复phi指令缺失的getIncomingValues方法调用 rain2133 2025-08-11 21:20:38 +08:00
  • 1fab6a43f9 Merge branch 'midend' into midend-LoopAnalysis rain2133 2025-08-11 21:20:34 +08:00
  • 1e3791a801 [midend-LoopNormalization]消除不必要的循环特征分析结果使用。优化phi指令处理逻辑 rain2133 2025-08-11 20:51:55 +08:00
  • a1cca3c95a [midend-llvmirprint]修改i1类型不存在引入的临时寄存器保存比较结果重命名的逻辑,减少冲突的可能性 midend-llvmirprint rain2133 2025-08-11 19:10:11 +08:00
  • 1361156b0d [midend-CFGOpt]修复上一次提交的漏洞 rain2133 2025-08-11 18:46:07 +08:00
  • 46179e3866 [midend-CFGOpt]修复部分指令删除逻辑错误 rain2133 2025-08-11 18:40:58 +08:00
  • 038552f58b [midend-SCCP]修复了函数参数没有正确初始化为Bottom的问题,现在f/64样例可以-O1通过 rain2133 2025-08-11 16:47:03 +08:00
  • 4d0e2d73ea [midend-LATG]将调试信息改为DEBUG生效 rain2133 2025-08-10 17:32:45 +08:00
  • ad19a6715f [midend]删除了错误的sra指令生成逻辑 rain2133 2025-08-10 16:57:40 +08:00
  • d1ba140657 [midend-llvnirprint]修改浮点为字面值打印,修复assign的类型推断 rain2133 2025-08-10 16:12:09 +08:00
  • 2c5e4cead1 [midend-llvmirprint]修复部分打印逻辑,修复生成IR时的基本块错误的前后驱关系链接 rain2133 2025-08-10 15:19:24 +08:00
  • 6b92020bc4 [midend-llvmirprint]修复全局数组打印格式问题 rain2133 2025-08-09 22:41:32 +08:00
  • c867bda9b4 [midend]解决部分变量重命名问题 rain2133 2025-08-09 22:30:09 +08:00
  • 6b9ad0566d [midend-llvmirprint]修复进度(162/199),修复若干打印问题,修复若干ir生成逻辑问题 rain2133 2025-08-09 21:28:44 +08:00
  • 6a7355ed28 [midend-Loop]初步构建循环规范遍 rain2133 2025-08-09 17:53:41 +08:00
  • be9ac89584 [midend-LoopAnalysis]将前置分析结果指针保存到循环特征分析类中消除冗余的分析指针传递 rain2133 2025-08-09 16:42:31 +08:00
  • ac3358d7e3 [midend-LoopAnalysis]移除基本循环特征分析中的向量化并行化内容,增加循环向量化并行化特征分析遍,TODO:构建循环优化遍验证分析遍正确性 rain2133 2025-08-09 13:53:00 +08:00
  • a958435836 Merge commit '167c2ac2aece809765dd8ed2b869fc16f84005f2' into backend lixuanwang 2025-08-08 22:58:17 +08:00
  • bd23f6154d [midend-SideEffect]将副作用分析遍重构为Module级别,更新其他优化遍用法,注册到PassMananger中,修改CMakeLists。 rain2133 2025-08-08 16:25:41 +08:00
  • 126c38a1d9 [midend-CallGraph]增加调用图分析遍 rain2133 2025-08-08 16:24:13 +08:00
  • c4c91412d1 [midend]修改一点逻辑和注释,删除无用文件 rain2133 2025-08-08 15:31:35 +08:00
  • f17e44f8d4 [midend-Alias]针对sysy语言设计了保守和激进的别名优化策略,设计了通过接口设置选项,后续需要验证。保留了一些激进策略接口置空待后续增加。 rain2133 2025-08-08 15:08:49 +08:00
  • a406e44df3 [midend-Alias]应用别名分析结果,sccp现在能简单传播数组元素了 rain2133 2025-08-08 02:12:32 +08:00
  • b1a46b7d58 [midend-LoopAnalysis]为项目添加别名分析遍,副作用分析遍,循环分析遍,循环特征分析遍 rain2133 2025-08-08 00:56:50 +08:00
  • bd02f5f1eb [midend-LoopAnalysis]为phi指令添加新的方法供外部遍历(目前不是顺序遍历) rain2133 2025-08-08 00:55:01 +08:00
  • c507b98199 [midend-llvmprint]更新脚本,支持-eir执行IR测试 Lixuanwang 2025-08-07 23:45:26 +08:00
  • ba21bb3203 [midend]修复内存泄漏和Heap-buffer-overflow问题(getexternalfunction中及其隐秘的错误),修复全局常量标量访问的错误 rain2133 2025-08-07 02:53:36 +08:00
  • 8aa5ba692f [midend]初步修复内存泄漏问题(仍然剩余11处) rain2133 2025-08-07 01:34:00 +08:00
  • d732800149 [midend-llvmprint]更新脚本,禁用内存泄漏检查 ladev789 2025-08-07 00:36:43 +08:00
  • f083e38615 [midend-Loop]循环分析构建,增加很多统计方法和循环信息方法 rain2133 2025-08-06 22:29:39 +08:00
  • 37f2a01783 [midend-llvmirprint]修复了gep指令对不含维度信息的数组指针的处理逻辑,修复若干打印bug,在-s ir/ird -o <llvmir.ll file>的参数下最终会打印ir到file中,优化过程中的打印逻辑待更改。 rain2133 2025-08-06 15:28:54 +08:00
  • 5d343f42a5 [midend-llvmirprint]检查并修复了初始值的打印逻辑 rain2133 2025-08-06 02:02:05 +08:00
  • a4406e0112 [midend]增加了指令重命名逻辑。 rain2133 2025-08-06 01:31:23 +08:00
  • 08fcda939b [midend-llvmirprint]实现了大部分函数的print方法,TODO:需要完善func和module的print方法以及重命名的逻辑 rain2133 2025-08-06 01:02:11 +08:00
  • 86c33eac05 最终提交版本+文档 deploy-20250805 CGH0S7 2025-08-05 22:04:31 +08:00
  • 33ca8ecf34 [document]修改编译器文档中端设计部分 rain2133 2025-08-05 21:37:48 +08:00
  • db00d02494 [deploy]最终提交版本 Lixuanwang 2025-08-05 20:57:23 +08:00
  • d439ef7e8e [document]初步添加编译器文档 CGH0S7 2025-08-05 20:53:44 +08:00
  • 926e765451 [deploy]测试2 Lixuanwang 2025-08-05 19:25:07 +08:00
  • c4d1e31273 [deploy]测试 Lixuanwang 2025-08-05 19:04:04 +08:00
  • de1f74c425 [deploy]部署版本5 Lixuanwang 2025-08-05 17:41:23 +08:00
  • 3ba12bf320 [backend]本地全过 Lixuanwang 2025-08-05 17:38:49 +08:00
  • 167c2ac2ae [backend]完善了后端流水线 Lixuanwang 2025-08-05 16:10:04 +08:00
  • 32684d8255 [backend]继续增强寄存器分配器健壮性 Lixuanwang 2025-08-05 13:50:55 +08:00
  • f2477c4af3 [backend]修复浮点数截断逻辑 h36通过 CGH0S7 2025-08-05 02:43:46 +08:00
  • b1efd481b4 [midend]BinaryExpStack表达式弹出部分优化 CGH0S7 2025-08-04 17:34:05 +08:00
  • 676880ca05 [backend]消除了线性扫描分配器对参数寄存器的引用 Lixuanwang 2025-08-05 02:21:42 +08:00
  • df50eedaeb [backend]将浮点逻辑改为与开发板一致 Lixuanwang 2025-08-05 01:08:42 +08:00
  • dcc075b39c [backend]修复线性扫描逻辑 Lixuanwang 2025-08-05 01:06:07 +08:00
  • ba7c581da5 Merge branch 'backend' into deploy-20250804 deploy-20250804 Lixuanwang 2025-08-04 21:58:51 +08:00
  • f7f1cf2b41 [backend]浮点逻辑与gcc保持一致 Lixuanwang 2025-08-04 21:54:24 +08:00
  • 881c2a9723 [backend]强化了线性扫描逻辑 Lixuanwang 2025-08-04 19:28:15 +08:00
  • 5f63554ca3 [midend]修正合并基本块链会将entry块纳入考虑范围的问题。上次commit同时修改了alloca创建的逻辑保证了alloca的声明全部在entry块中 rain2133 2025-08-04 18:56:57 +08:00
  • b5f14d9385 [backend]在后端主函数中添加了调试逻辑 Lixuanwang 2025-08-04 18:17:09 +08:00
  • 72b06c67ca [backend]为图着色引入保底修复 Lixuanwang 2025-08-04 18:13:09 +08:00
  • f4ba1df93b Merge branch 'backend' into deploy-20250804 Lixuanwang 2025-08-04 16:50:57 +08:00
  • 4db3cc3fb5 Merge branch 'midend' into backend Lixuanwang 2025-08-04 16:48:30 +08:00
  • 17f1bed310 Merge branch 'backend-lag' into backend Lixuanwang 2025-08-04 16:43:43 +08:00
  • b848ffca5a [midend]在生成IR时引进了简单的CSE(二元一元loadgep的cse) rain2133 2025-08-04 16:38:12 +08:00
  • 603506d142 Merge branch 'backend' of gitee.com:lixuanwang/mysysy into backend Lixuanwang 2025-08-04 16:34:22 +08:00
  • 0179c13cf4 [backend]添加了一些工具函数 Lixuanwang 2025-08-04 16:32:54 +08:00
  • 7e5f6800b7 [backend]修复寄存器分配算法死循环bug,89通过 CGH0S7 2025-08-04 16:04:35 +08:00
  • 64ba25a77e [backend]移除了冗余的keepalive伪指令 Lixuanwang 2025-08-04 14:11:27 +08:00
  • 6dc74b173b [deploy]部署版本4 Lixuanwang 2025-08-04 02:42:55 +08:00
  • 208d5528b5 Merge branch 'midend' into backend Lixuanwang 2025-08-04 02:37:27 +08:00
  • a269366ac5 [backend]修复了较小全零全局数组未显示初始化导致未定义行为的问题 Lixuanwang 2025-08-04 02:31:18 +08:00
  • 1b9a7a4827 [backend]修复了函数序言处理错误且与尾声栈不匹配的bug Lixuanwang 2025-08-04 01:57:34 +08:00
  • b2c2f3289d [backend]修改了编译器后端 RISCv64ISel.cpp,在 kFtoI 的处理逻辑中,用一段指令序列模拟了正确的“向零取整”行为。95 h35 h37 h38通过。 CGH0S7 2025-08-04 01:34:39 +08:00
  • 0ecd47f0ac 修复IR打印器中浮点比较指令的类型错误,确保生成正确的LLVM IR代码 CGH0S7 2025-08-03 22:23:52 +08:00
  • 6550c8a25b [backend-LAG]添加新的LargeArrayToGlobal中端Pass,以及栈保护逻辑 backend-lag CGH0S7 2025-08-04 01:01:29 +08:00
  • f24cc7ec88 [midend]修复replaceAllUsesWith中由于setOperand 间接调用 removeUse 或 addUse导致的迭代器失效问题 rain2133 2025-08-04 00:59:39 +08:00
  • c8a8bf9a37 [backend]修复了溢出位置错误的问题 Lixuanwang 2025-08-03 23:28:38 +08:00
  • 446a6a6fcb [midend]修复phi指令接口,优化遍适配 rain2133 2025-08-03 22:18:00 +08:00
  • d8b004e5e5 [midend]修改use关系相关的函数,使其能自动的正确维护,修改了phi指令的各种接口 rain2133 2025-08-03 22:16:40 +08:00
  • cd814de495 Merge commit 'e4ad23a1a594a9da6b96655d4256352d5f6d277d' into midend Lixuanwang 2025-08-03 18:37:36 +08:00
  • e4ad23a1a5 [backend]修复了寄存器分配器在处理全物理寄存器操作数时的bug Lixuanwang 2025-08-03 18:37:08 +08:00
  • 58c8cd53f5 Merge branch 'midend' of gitee.com:lixuanwang/mysysy into midend Lixuanwang 2025-08-03 17:26:38 +08:00
  • ec91a4e259 [backend]更新脚本,现在会拷贝.sy文件到tmp目录 Lixuanwang 2025-08-03 17:26:09 +08:00
  • 91f755959b [midend]修改中端流水线 rain2133 2025-08-03 17:25:05 +08:00
  • 92c89f7616 [midend]修正了脚本错误 Lixuanwang 2025-08-03 17:12:39 +08:00
  • 66047dc6a3 Merge branch 'buildcfg' into midend Lixuanwang 2025-08-03 16:40:48 +08:00
  • 22cf18a1d6 [midend-BuildCFG]修复逻辑 buildcfg rain2133 2025-08-03 16:14:31 +08:00
  • 19a433c94f [midend]为脚本添加了-O1参数,支持测试性能 Lixuanwang 2025-08-03 15:41:29 +08:00
  • 45dfbc8d59 Merge branch 'backend' into midend Lixuanwang 2025-08-03 15:25:51 +08:00
  • ef9d7c4d03 [midend-LoopAnalysis]增加维护循环层级的逻辑,修改父子循环关系求解的逻辑。 rain2133 2025-08-03 15:22:18 +08:00
  • f8e423f579 合并backend、backend-IRC到midend Lixuanwang 2025-08-03 15:18:52 +08:00
  • 5b43f208ac Merge branch 'backend-divopt' into midend Lixuanwang 2025-08-03 14:53:22 +08:00
  • 845f969c2e [backend-IRC]修复了现场管理与溢出处理的栈偏移量错误问题 Lixuanwang 2025-08-03 14:42:19 +08:00
  • 9c5d9ea78c [optimize]删除多余测试文件 backend-divopt CGH0S7 2025-08-03 14:38:27 +08:00
  • 0ce742a86e [optimize]添加更为通用的除法强度削减Pass, 不受除数限制替换div指令,不影响当前分数 CGH0S7 2025-08-03 14:37:33 +08:00
  • 1c7c85dd2f Merge commit 'f879a0f521e3033d3f928a5976ac095af6905942' into midend-LoopAnalysis rain2133 2025-08-03 14:30:32 +08:00
  • f312792fe9 [optimze]添加基础的除法指令优化,目前只对除以2的幂数生效 CGH0S7 2025-08-03 13:46:42 +08:00
  • 3b1bafde9c [midend]将alloca声明统一到entry块,增加mem2reg的机会,TODO:不是很明白为什么开了优化过不了一些样例正在排查原因 midend-mem2reg rain2133 2025-08-03 13:45:13 +08:00
  • 32ea24df56 [midend]修复entryBB和funcBodyEntry的初始化,Dom计算引进逆后续遍历和LT算法,Pass先默认关掉CFGOpt rain2133 2025-08-03 00:51:49 +08:00
  • a1cf60c420 [midend-BuildCFG]新增BuildCFG优化通道,实现控制流图的构建与分析 歪比歪比 2025-08-02 22:48:21 +08:00
  • f879a0f521 [midend]修复了后端不适配中端全局变量定义的问题 Lixuanwang 2025-08-02 22:06:37 +08:00