System and method of using partially resolved predicates for...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S153000

Reexamination Certificate

active

06732356

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to program source code compilation, and more particularly to eliminating compares in the prediction phase of compilation.
COPYRIGHT NOTICE/PERMISSION
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright© 2000, Intel Corporation, All Rights Reserved.
BACKGROUND OF THE INVENTION
In the compilation of program source code, after the compiler performs global optimization, comparison statements in the executable relocatable assembly-computer code are optimized in the prediction phase of compilation to reduce the number of comparison statements generated in the executable code. In conventional predication, fully resolved predicates are implemented to guard or qualify against the execution of an instruction when the data flow equation determines that the particular predicate name is defined on all paths.
Predicate execution code is generated in place of predicted branches. The predicated code is the conditional execution of an instruction under the control of a predicate. By conditionally executing all instructions in a portion of code under guard of a condition, instead of requiring change of control flow, predication effectively eliminates branches from the code. This is beneficial on wide and deep pipelines where the effect of flushes due to branch-miss predictions can cause bubbles in the execution pipeline. This results in a large opportunity cost of instructions that could have been executed. In essence, predication converts a control-dependence branch condition into a data-dependence predicate. Each microprocessor architecture accommodates a fixed number of predicate hardware registers that are used in the predication comparison. The predicate hardware registers represent the predicates that represent conditions that guard against execution of a block of code. The first predicate P
0
is hardwired to represent a boolean true.
To optimize comparison statements, a region of a code flow graph is selected within which the optimization is determined, or the optimization analysis is performed. To compute a fully resolved predicate for a selected flow graph region, the control dependence information in the complete flow graph is used.


REFERENCES:
Schlansker, Michael, Mahlke, Scott, Johnson, Richard, “Control CPR: A Branch Height Reduction Optimization for EPIC Architectures”, Hewlettl-Packard Company 1999, retiieved from google.com on May 15, 2003.*
Schlansker, Michael, Mahlke, Scott-Hewlett-Packard & Johnson, Richard, Transmeta Corp. “Control CPR: A Branch Height Reduction Optimization for EPIC Architectures”, 1999, retrieved from http://citeseer.nj.nec.com/schlansker99control.html, Sep. 26, 2002.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method of using partially resolved predicates for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method of using partially resolved predicates for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method of using partially resolved predicates for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3198474

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.