186 Commits (b3187edbbf99be009fb197f62266b4f370cbc81a)

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