发明名称 Method and apparatus for profile-based reordering of program portions in a computer program
摘要 An apparatus and several methods provide for a more optimized computer program that will have a faster execution time than was possible using the prior art reordering technique that adds to a trace until it finds no more predecessors or successors to add. The apparatus and methods disclosed herein use a variety of methods to reorder the program portions in a more intelligent manner that will improve its run-time performance. Each of these methods involves constructing traces in the control flow graph of the computer program. In a first embodiment, a basic block is only added to a trace if it is not negligible within predetermined limits. This negligibility test results in traces that are not extended for infrequently executed basic blocks. In a second embodiment, a basic block is only added to a trace if it is a perfect partner with the last basic block added to the trace. The concept of a "perfect partner" helps to match basic blocks together in a trace that have the greatest affinity for each other. In a third embodiment, a basic block is only added to a trace if it satisfies "should follow" flags and predetermined negligibility criteria. The "should follow" flags and negligibility criteria provide a complex criteria for adding basic blocks to a trace, criteria that create more efficient code in some specific circumstances.
申请公布号 US5950009(A) 申请公布日期 1999.09.07
申请号 US19970814527 申请日期 1997.03.10
申请人 INTERNATIONAL BUSINESS MACHINES COPORATION 发明人 BORTNIKOV, VITA;MENDELSON, BILHA;NOVICK, MARK;SCHMIDT, WILLIAM JON;SHAVIT-LOTTEM, INBAL
分类号 G06F9/45;(IPC1-7):G06F9/445 主分类号 G06F9/45
代理机构 代理人
主权项
地址