Method and apparatus for inserting prefetch instructions in an optimizing compiler
    1.
    发明授权
    Method and apparatus for inserting prefetch instructions in an optimizing compiler 有权
    在优化编译器中插入预取指令的方法和装置

    公开(公告)号:US07257810B2

    公开(公告)日:2007-08-14

    申请号:US10052999

    申请日:2001-11-02

    IPC分类号: G06F9/44 G06F9/45 G06F9/30

    CPC分类号: G06F8/4442

    摘要: One embodiment of the present invention provides a system that generates code to perform anticipatory prefetching for data references. During operation, the system receives code to be executed on a computer system. Next, the system analyzes the code to identify data references to be prefetched. This analysis can involve: using a two-phase marking process in which blocks that are certain to execute are considered before other blocks; and analyzing complex array subscripts. Next, the system inserts prefetch instructions into the code in advance of the identified data references. This insertion can involve: dealing with non-constant or unknown stride values; moving prefetch instructions into preceding basic blocks; and issuing multiple prefetches for the same data reference.

    摘要翻译: 本发明的一个实施例提供一种生成用于对数据引用进行预期预取的代码的系统。 在操作期间,系统接收要在计算机系统上执行的代码。 接下来,系统分析代码以识别要预取的数据引用。 该分析可以涉及:使用两相标记过程,其中确定执行的块在其他块之前被考虑; 并分析复杂的数组下标。 接下来,系统在预先识别的数据引用之前将预取指令插入到代码中。 该插入可以涉及:处理非常数或未知步幅值; 将预取指令移动到前面的基本块中; 并为相同的数据引用发出多个预取。

    Method and apparatus for selecting references for prefetching in an optimizing compiler
    2.
    发明授权
    Method and apparatus for selecting references for prefetching in an optimizing compiler 有权
    用于在优化编译器中选择用于预取的参考的方法和装置

    公开(公告)号:US07234136B2

    公开(公告)日:2007-06-19

    申请号:US10052997

    申请日:2001-11-02

    IPC分类号: G06F9/45 G06F15/00

    摘要: One embodiment of the present invention provides a system that generates code to perform anticipatory prefetching for data references. During operation, the system receives code to be executed on a computer system. Next, the system analyzes the code to identify data references to be prefetched. This analysis can involve: using a two-phase marking process in which blocks that are certain to execute are considered before other blocks; and analyzing complex array subscripts. Next, the system inserts prefetch instructions into the code in advance of the identified data references. This insertion can involve: dealing with non-constant or unknown stride values; moving prefetch instructions into preceding basic blocks; and issuing multiple prefetches for the same data reference.

    摘要翻译: 本发明的一个实施例提供一种生成用于对数据引用进行预期预取的代码的系统。 在操作期间,系统接收要在计算机系统上执行的代码。 接下来,系统分析代码以识别要预取的数据引用。 该分析可以涉及:使用两相标记过程,其中确定执行的块在其他块之前被考虑; 并分析复杂的数组下标。 接下来,系统在预先识别的数据引用之前将预取指令插入到代码中。 该插入可以涉及:处理非常数或未知步幅值; 将预取指令移动到前面的基本块中; 并为相同的数据引用发出多个预取。