通过熔接IR指令消除分支

发布于 2026-01-01 01:30

摘要:分公司错误预测会在现代处理器中造成灾难性的性能处罚,导致性能损失. 虽然存在硬件预测器和配置指导技术,但不规则模式的数据依赖分支仍然具有挑战性. 传统的if-conversion通过软件预设来消除分支,但面临x86等架构的限制. 它常常在包含内存指令的路径上失败,或者通过充分推测出大型分支机构而导致过度指令被管理. 本文介绍Melding IR指令(MERIT),是一种编译器变换,通过在IR指令级别上从不同路径对接并焊接类似操作来消除分支. MERIT通过观察不同的路径往往在结构上进行类似的操作,采用不同的操作方式,调整序列对接,以发现合并的机会,并使用安全的操作级别来守护,以确保语义正确而无需硬件预设. MERIT作为LLVM通过并评价了来自四个基准套件的102个程序,实现了10.9%的几何平均速度,与硬件分支预测器相比,峰值改进了32x,以减少静态指令的间接费用来证明效果.

由Melding IR Directions - Croductions(英语:Melding IR Directions - Certain: Brant: Brant promisional servicements)的"去除分会"在现代处理器中造成灾难性的性能处罚,导致性能损失. 虽然存在硬件预测器和配置指导技术,但不规则模式的数据依赖分支仍然具有挑战性. 传统的if-conversion通过软件预设来消除分支,但面临x86等架构的限制.

它常常在包含内存指令的路径上失败,或者通过充分推测出大型分支机构而导致过度指令被管理. 本文介绍Melding IR指令(MERIT),是一种编译器变换,通过在IR指令级别上从不同路径对接并焊接类似操作来消除分支.

MERIT通过观察不同的路径往往在结构上进行类似的操作,采用不同的操作方式,调整序列对接,以发现合并的机会,并使用安全的操作级别来守护,以确保语义正确而无需硬件预设.

MERIT作为LLVM通过并评价了来自四个基准套件的102个程序,实现了10.9%的几何平均速度,与硬件分支预测器相比,峰值改进了32x,以减少静态指令的间接费用来证明效果.

匿名评论

成为第一个评论的人。