U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Compiler for performing a loop fusion, dependent upon loop peeling and/or loop reversal

Patent 6070011 Issued on May 30, 2000. Estimated Expiration Date: Icon_subject October 21, 2017. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Loop optimization system
Patent #: 5303357
Issued on: 04/12/1994
Inventor: Inoue, et al.

Optimizer for program loops
Patent #: 5457799
Issued on: 10/10/1995
Inventor: Srivastava

Loop scheduler
Patent #: 5491823
Issued on: 02/13/1996
Inventor: Ruttenberg

5548761

Method of prefetching data for references with multiple stride directions
Patent #: 5752037
Issued on: 05/12/1998
Inventor: Gornish, et al.

High-level loop fusion Patent #: 5822593
Issued on: 10/13/1998
Inventor: Lamping, et al.

Inventors

Application

No. 955075 filed on 10/21/1997

US Classes:

717/160, Including loop717/154, Including analysis of program717/159Code restructuring

Examiners

Primary: Hafiz, Tariq R.
Assistant: Sattizahn, Brian

International Class

G06F 009/45

Abstract

A compile method employs loop fusion to improve execution of a first loop and a second loop in a code sequence. A compile method initially peels one or more loop iterations from one of the loops to cause each of the loops to exhibit an equal number of loop iterations. Thereafter, an attempt is made to fuse the first and second loops, upon a condition that the resulting fused loop produces a same computational result as would be produced if the first loop and second loop were not fused. If the condition is not met, a loop reversal is performed on one of the loops and a fusing action is again attempted; if the attempted fusing action of the loops does not fulfill the condition, a loop reversal is performed on the other loop and a fusing action is again attempted. The combined loop peeling/loop reversal actions provide a higher probability of an ability to fuse the loops than otherwise.

Other References

  • Bacon, D.; Graham, S.; Sharp, O.; "Compiler Transformations for High Performance Computing"; ACM Computing Surveys; vol. 26, No. 4, pp. 345-420, Dec. 1994
  • Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, Oct. 1994, S. Carr et al., "Compiler Optimizations for Improving Data Locality"
  • Manjikian, N.; Abdelrahman, T.; "Fusion of Loops for Parallelism and Locality"; IEEE Transactions on Parallel and Distributed Systems; vol. 8, Issue 2, pp. 193-209, Feb. 1997
  • Sha, E.; Lang, C.; Passos, N.; "Polynomial-Time Nested Loop Fusion with Full Parallelism"; Proceedings of the 1996 International Conference on Parallel Processing; vol. 3, pp. 9-16, Aug. 1996
  • McKinley, K.; Carr, S.; Tseng, C.; "Improving Data Locality with Loop Transformations"; ACM Transactions on Programming Languages and Systems; vol. 18, No. 4, pp. 424-453, Jul. 1996
  • Chesney, D.; Cheng, B.; "Generalizing the Unimodular Approach"; International Conference on Parallel and Distributed Systems; pp. 398-404, Dec. 1994
  • Pugh, W.; "Uniform Techniques for Loop Optimization"; Proceedings of the 1991 International Conference on Supercomputing; pp. 341-35
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?