Eliminating maximum/minimum operations in loop bounds
US8087012B2 · kind B2 · utility
Assignee
Inventor
Key dates
| Filing date | Aug 21, 2007 |
| Grant date | Dec 27, 2011 |
| Priority date | — |
| Expiry date | Oct 16, 2030 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F8/443
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A technique is provided for eliminating maximum and minimum expressions within loop bounds are provided. A loop in a code is identified. The loop is determined to meet conditions, which require an upper loop bound and a lower loop bound to contain maximum and minimum expressions, loop-invariant operands, a predetermined size for a code size, and a total number of instructions to be greater than a predetermined constant. A profitability of loop versioning is determined based on a performance gain of a fast version of the loop, a probability of executing the fast version of the loop at runtime, and an overhead for performing loop versioning. A pair of lower loop bound and upper loop bound values resulting in a constant number is identified. A loop iteration value is checked to be a non-zero constant. Branches are identified, and loop versioning is performed to generate a versioned loop.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.