307 Commits (40eb6784d3032e87bcff0bb8e117e3c130293a16)
 

Author SHA1 Message Date
lzkk 40eb6784d3 perf(ir): 添加 And/Or 操作码 + if-else→select 转换框架
4 days ago
lzkk 4403dc08b8 perf(mir): 常量除法魔法数优化——smull+asr 替代 sdiv
4 days ago
lzkk ea790dd05d fix(scripts): score.sh 使用 canon_diff 忽略尾部空白——匹配 2026test.sh 行为
4 days ago
lzkk 8d4a34aa10 fix(scripts): 修复 score.sh 输出对比逻辑——适配 SysY 非零返回值 + .out 格式
4 days ago
lzkk 5cd5c54764 feat(scripts): 添加本地评分脚本 score.sh——按比赛计分公式计算分数
4 days ago
lzkk 635f01bd48 perf(mir): 添加 Lsr64RR 支持——64位逻辑右移,为常量除法优化铺路
4 days ago
lzkk 422f1848fc perf(mir): Lowering 直接生成 AddShiftRR——x+(x*2^n) → add x,x,lsl#n
4 days ago
lzkk 8d0c5ebcd0 perf(mir): 添加 AddShiftRR/SubShiftRR 支持——lsl+add 合并为 add lsl
4 days ago
lzkk e1944acc6b perf(mir): Peephole 增强——StoreGlobal→LoadGlobal 跨指令转发 + 冗余 adrp 消除
4 days ago
lzkk 00c489f0be perf(mir): 消除 Mul 幂次方优化产生的死 MovImm——先检测后发射 rhs
4 days ago
lzkk 4179f40264 perf(mir): leaf 函数省略帧指针——无调用+无栈帧时跳过 stp/ldp x29,x30
4 days ago
lzkk 10a59110eb perf: 函数内联 + csneg 取模优化,crypto 1.76x→1.69x
4 days ago
lzkk 2f1d7dc856 perf(ir): 保守函数内联——纯算术单BB leaf 函数自底向上迭代内联
4 days ago
lzkk feab5508a8 fix(irgen): starttime/stoptime 函数名恢复为 _sysy_starttime/_sysy_stoptime
4 days ago
lzkk 56b37ac060 chore: 删除死代码——LinearScanAlloc/GreedyAlloc/InstLiveness(共2072行)
4 days ago
lzkk 862c1bfe7b 第一次优化
4 days ago
lzkk 1149d53d42 chore: 移除 LICM.cpp 空桩——实现已在 LoopInfo.cpp (ir_analysis)
4 days ago
lzkk 0eb1cf4a7f chore: 移除空桩文件(PassManager.cpp/ConstEval.cpp)从构建
4 days ago
lzkk 5d43539290 chore: 代码彻底清理——删除死代码、旧备份、生成文件
4 days ago
lzkk 39e4dada13 perf(mir): 添加 Madd(乘加)指令——sum+a*b → madd sum,a,b,sum
5 days ago
lzkk 035f83b209 fix(mir): 模2^n AND优化——修复 x<0 且 x%2^n==0 时的零值错误
5 days ago
lzkk 2cfc9e2fc8 perf(mir): MIR预分配 MovImm 转发——消除常数二次传递
5 days ago
lzkk bf5956e3cc perf(mir): Pettis-Hansen 基本块重排序——链合并+频率排序
5 days ago
lzkk e23d047e5f feat(scripts): 添加 LLVM/clang 差分测试脚本 diff_test_llvm.sh
5 days ago
lzkk c277aa2226 perf(mir): 帧槽按大小重排序——小槽优先获得 ldur 范围内偏移
5 days ago
lzkk f65fe9fc20 perf(mir): 扩展缩放寻址到 EmitStatement Load 路径(ptr/float/int)
5 days ago
lzkk be3a5640ee perf(mir): AArch64 缩放寻址——GEP+Load/Store 直接生成 ldr/str [base, idx, uxtw #2]
5 days ago
lzkk 3ece3d09f4 perf(mir): CMP常量lhs交换——mov+cmp优化为cmp#imm+条件翻转
5 days ago
lzkk e826f9ee57 perf(mir): 负除数模2^n同样使用AND优化
5 days ago
lzkk 421df18c81 perf(mir): 模2^n运算优化——AND+符号修正替代 Msub
5 days ago
lzkk 2a67ef0f06 perf(mir): FixFallThrough——CondBr 条件反转消除冗余 Br
5 days ago
lzkk 667c342c51 perf(mir): Lowering 立即数折叠——AddRR/SubRR/CmpRR 常量 rhs 直接用 Imm
5 days ago
lzkk d51cbc49f1 perf(mir): RegAlloc 偏置着色调和(copy_edges coalescing)
5 days ago
lzkk 9095cbe0db perf(ir): 启用 LICM + 迭代优化循环(ConstFold/ConstProp/CSE/DCE 收敛)
5 days ago
lzkk 1993380d4a chore: 移除 git 冲突残留文件
5 days ago
lzkk ee3b42ac40 feat(opt): 切换至队友代码基线——100%功能正确
5 days ago
lzkk bfe105c2cd fix(mir): 别名无条件冲突 + per-round reserve防指针失效
5 days ago
lzkk d6f42a2a2e fix(mir): 回退到稳定版本——PhysReg映射+spill reload+别名无条件冲突
5 days ago
lzkk 0f1b545568 fix(mir): 分配顺序改为FirstUsePos + 别名无条件冲突 + per-round reserve
5 days ago
lzkk 83228a8123 fix(mir): GPR32/GPR64别名检查移除segments.empty()条件
5 days ago
lzkk 5fb106bde8 fix(mir): LLVM两遍分配 + 间隙分裂 + Assign安全网
5 days ago
lzkk 508f9d8ddc fix(mir): TrySplit引用失效修复 + LLVM Defer机制
5 days ago
lzkk 80dc583143 fix(mir): PhysReg映射修正 + spill reload分配独立vreg——避免寄存器冲突
5 days ago
lzkk ddaf8831a2 fix(mir): CMakeLists.txt 改用 GreedyAlloc.cpp 替代 LinearScanAlloc.cpp
5 days ago
lzkk da1e456133 feat(mir): 实现 LLVM-style 贪婪寄存器分配器 —— 统一架构
5 days ago
lzkk 0a29e6ac42 fix(mir): AsmPrinter 函数调用后失效帧基址缓存——修复 92_register_alloc
6 days ago
lzkk 363b809736 fix(mir): 大栈帧 asm 输出 x13 缓存失效 + 叶函数栈参数偏移修复 + IR 数组初始化阈值降低
6 days ago
lzkk 120d7197d8 fix(mir): 线性扫描活变量分析 def 位置记录 + callee-saved 寄存器限定 + CLI 标志修复
6 days ago
lzkk e1777c9eab fix(ir): CSE 安全门禁——非 SSA 函数跳过 Load/GEP CSE
6 days ago
lzkk 28c336728d fix(mir): 线性扫描区间分裂修复 + 多定义点 vreg 跳过逻辑修复
6 days ago