Method, apparatus and computer program product for optimizing registers
in a stack using a register allocator
    1.
    发明授权
    Method, apparatus and computer program product for optimizing registers in a stack using a register allocator 失效
    用于使用寄存器分配器优化堆栈中的寄存器的方法,装置和计算机程序产品

    公开(公告)号:US6018799A

    公开(公告)日:2000-01-25

    申请号:US121167

    申请日:1998-07-22

    CPC分类号: G06F8/441 G06F8/443

    摘要: Apparatus, methods and computer program products are disclosed that enable a compiler to generate efficient code to access stack registers on a register stack. The invention operates by transforming a three-operand instruction, within a compiler's intermediate representation, to one or more fewer-than-three-operand instructions. The invention also transforms the instruction's operand addressing from an access to a pseudo-named register to an access to a stack register through stack offset into a register stack. The invention also determines the register stack state at each instruction responsive to register stack permutations and maps the stack offset accordingly for each subsequent access to a stack register.

    摘要翻译: 公开了装置,方法和计算机程序产品,其使得编译器能够生成有效代码来访问寄存器堆栈上的堆栈寄存器。 本发明通过将编译器的中间表示中的三操作数指令变换成一个或多个少于三个操作数的指令来进行操作。 本发明还将指令的操作数寻址从访问伪命名寄存器转换为通过堆栈偏移到堆栈寄存器的访问到寄存器堆栈。 本发明还响应于寄存器堆栈排列确定每个指令处的寄存器堆栈状态,并相应地映射堆栈偏移量,以便每次后续访问堆栈寄存器。