-
公开(公告)号:US20050010891A1
公开(公告)日:2005-01-13
申请号:US10911901
申请日:2004-08-04
申请人: Ronnie Chaiken , Hon Keat Chan , Andrew Edwards , Gregory Eigsti , David Gillies , Bruce Kuramoto , John Lefor , Ken Pierce , Amitabh Srivastava , Hoi Vo , Gideon Yuval
发明人: Ronnie Chaiken , Hon Keat Chan , Andrew Edwards , Gregory Eigsti , David Gillies , Bruce Kuramoto , John Lefor , Ken Pierce , Amitabh Srivastava , Hoi Vo , Gideon Yuval
CPC分类号: G06F8/52
摘要: Each component binary in a heterogeneous program is translated from a platform-specific instruction set into a set of intermediate representation (IR) instructions that are platform-neutral. The IR instructions are grouped into IR code blocks, the IR code blocks into IR procedures, and the IR procedures into IR components to create an intermediate representation hierarchy for the program. An application program interface is provided that permits user access to the IR hierarchy for instrumentation, optimization, navigation, and manipulation of the IR hierarchy. The transformed IR hierarchy is then translated into platform-specific instructions and output as a modified binary. The user can designate a different platform for the output translation of a code block than the platform for which the code block was originally written. Prologue and epilog code is added to contiguous blocks that are translated into different architectures. The modified binary can be iterated through the translation and transformation process to produce multiple versions of the heterogeneous program.
摘要翻译: 异构程序中的每个组件二进制文件从平台特定的指令集转换为平台中立的一组中间表示(IR)指令。 IR指令分为IR代码块,IR代码块转换为IR程序,IR程序分为IR组件,以创建程序的中间表示层次结构。 提供了一个应用程序接口,允许用户访问IR层次结构,以进行IR层次结构的检测,优化,导航和操作。 转换的IR层次结构然后被转换为平台特定的指令并作为修改的二进制输出。 用户可以为代码块的输出转换指定与代码块最初写入的平台不同的平台。 序言和epilog代码被添加到被转换成不同架构的连续块。 修改的二进制文件可以通过翻译和转换过程进行迭代,以生成异构程序的多个版本。