| fix(aot): handle memory waits without notify
Co-authored-by: yrz1027<yangruizhi5@huawei.com>
# message auto-generated for no-merge-commit merge:
!320 merge fix/mem-write-zero into master
fix(aot): handle memory waits without notify
Created-by: yrz1027
Commit-by: yrz1027
Merged-by: cann-robot
Description: # Pull Request
## 描述
修复 memory write 经过 wait rule 检查后没有生成 notify 时,wait 节点无法按 valueBreakerBypass 选项控制可融性的问题。
主要变更:
- 将 valueBreakerBypass 的语义从 write/wait 调整为 notify/wait,更贴近实际处理结果。
- 当 memory write 经过规则检查后没有 notify 时,不再直接失败,而是将 wait 视为 unpaired wait,由 0b10 控制是否可融。
- reset 节点只保留同步/保序语义,不再因为 paired bypass 被标记为可融。
- no-write wait 场景统一建立 wait association,并由 unpaired bypass 控制可融性。
- 补充/更新 graph 与 node UT,覆盖 no-notify、reset 不可融、unknown flag 保持原状等场景。
## 变更类型
- [x] 🐛 Bug 修复
- [ ] ✨ 新功能
- [ ] 💄 代码风格更新(格式化,局部变量)
- [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动)
- [ ] 📦 构建过程或辅助工具的变动
- [ ] 📝 文档内容更新
## 关联的Issue
无
## 如何测试
1. git diff --check --cached
2. bash build.sh --module=superkernel --impl=cpp --ut --no-autofuse -j 8
测试结果:
- superkernel cpp UT 全量通过:702/702 tests passed。
## 核对清单
- [x] 我的代码遵循了项目的代码风格
- [x] 我已对代码进行了自测
- [ ] 我已更新了相关的文档
- [x] 我在标题中使用了合适的类型标签(如:feat:, fix:)
- [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等
See merge request: cann/graph-autofusion!320 | 1 个月前 |