Optimizing compiler with static prediction of branch probability, branch frequency and function frequency
US5655122A · kind A · utility
Assignee
Inventor
Key dates
| Filing date | Apr 5, 1995 |
| Grant date | Aug 5, 1997 |
| Priority date | — |
| Expiry date | Apr 5, 2015 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F8/4441
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A compiler and method for optimizing a program based on branch probabilities, branch frequencies and function frequencies. A number of algorithms executed by the compiler determine statically from the program code the probabilities that branches with the program are taken and how often the branches are taken. With this information, the compiler arranges the object code in memory to improve execution of the program. The frequency of functions within the code may be determined from the branch probability and branch frequency information. The compiler uses the function frequency information to arrange the functions in a desirable order, such as storing function pairs with the highest global call frequencies on the same memory page. This minimizes the number of calls to functions that are stored on disk and thus improves the speed of execution of the program.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.