后端优化 指令合并
指令合并主要合并相邻的,use-def 链上 相邻的指令。
讲多条可以合并的指令合并成一条指令,去除多余指令。
1, 常量折叠和计算。
a = 100;
b = 100;
c = a + b;
d = f * c;
====>
d = f * 200;
2,去除无效move指令
a = b;
c = a;
=====>
c = b;
3, 去除相同的无效的load, 需要一个指示内存状态的memop
res1 = Ioad op1 {mem} op3 memop memstat1;
res2 = load op1 var op2 offset IMM op3 memop memstat1
4, 去除无效的memstore
memstat1 I_store Mem{ip} res1 memstat0 // INSN1
// rm INSNI when memstat1 only used by INSN2
memstat2 I_store Mem{ip} res2 memstat1 // INSN2
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析