forked from NUDT-compiler/nudt-compiler-cpp
AArch64 add/sub 支持 12 位立即数,但 MIR 只有 AddRR/SubRR, 导致 RHS 为常量时需先 MovImm 再 RR 运算。本次修改: - MIR.h:新增 AddImm、SubImm 操作码 - Lowering.cpp:Add/Sub 降级时 RHS 为 0-4095 常量直接用 AddImm/SubImm - RegAlloc.cpp:AddImm/SubImm 复用 AddRR/SubRR 的 def-use 分析 - AsmPrinter.cpp:通用打印机自动处理 Imm 操作数(#value) 效果(对比 CmpImm 基线): - sl1-3: 261→247 (-14, -5.4%) - huffman-01-03: 792→790 (-2) - h-5-01-03: 341→338 (-3) - 全 60 个性能用例总减少 55 行 - 功能测试 0 新故障 更新:优化记录.md 新增条目,基线自动更新lzk
parent
bd7dcedb2a
commit
fccd935a24
Loading…
Reference in new issue