发明名称 Method for removing invariant branches from instruction loops of a computer program
摘要 Removal of invariant branches from nests of loops results in an optimized computer program with increased speed of execution. To accomplish this objective, each loop of a program is then examined, looking at inner loops before their containing outer loops, to locate conditional branch instructions which are loop invariant. Each conditional branch which is evaluated based upon loop invariant calculations is rewritten, outside the outermost loop for which this branch is invariant. The moved branch is modified to branch around the loop in which it was originally contained if its condition is evaluated false. A new copy of the loop is made in which the invariant branch is rewritten as an unconditional branch. In the original copy of the loop, the invariant branch is deleted, and a branch is inserted after the modified original loop to skip around the new copy when the original copy is executed. Finally, any sections of the program which will never be executed as a result of the above described transformation are deleted.
申请公布号 US5202995(A) 申请公布日期 1993.04.13
申请号 US19920939586 申请日期 1992.09.03
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 O'BRIEN, JOHN K. P.
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项
地址