【24h】

Static single assignment form for machine code

机译:机器码的静态单一分配表格

获取原文

摘要

Static Single Assignment (SSA) is an effective intermediate representation in optimizing compilers. However, traditional SSA form and optimizations are not applicable to programs represented as native machine instructions because the use of dedicated registers imposed by calling conventions, the runtime system, and target architecture must be made explicit. We present a simple scheme for converting between programs in machine code and in SSA, such that references to dedicated physical registers in machine code are preserved. Our scheme ignores all output- and anti-dependences imposed by physical registers while a program is in SSA form, but inserts compensation code during machine code reconstruction if any naming requirements have been violated. By resolving all mismatches between the two representations in separate phases, we are able to utilize existing SSA algorithms unaltered to perform machine code optimizations.
机译:静态单一分配(SSA)是优化编译器的有效中间表示。但是,传统的SSA形式和优化不适用于以本机机器指令表示的程序,因为必须明确使用由调用约定,运行时系统和目标体系结构强加的专用寄存器。我们提出了一种在机器代码和SSA中的程序之间进行转换的简单方案,从而保留了对机器代码中专用物理寄存器的引用。当程序为SSA形式时,我们的方案将忽略物理寄存器施加的所有输出和反依赖性,但是如果违反了任何命名要求,则会在机器代码重构期间插入补偿代码。通过在单独的阶段解决两种表示形式之间的所有不匹配问题,我们能够利用现有的未更改的SSA算法来执行机器代码优化。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号