1992
DOI: 10.1145/144965.144998
|View full text |Cite
|
Sign up to set email alerts
|

Effective compiler support for predicated execution using the hyperblock

Abstract: Predicated execution is an effective technique for dealing with conditional branches in application programs. However, there are several problems associated with conventional compiler support for predicated execution. First, all paths of control are combined into a single path regardless of their execution frequency and size with conventional if-conversion techniques. Second, speculative execution is difficult to combine with predicated execution. In this paper, we propose the use of a new structure, referred … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
210
0

Year Published

1998
1998
2013
2013

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 270 publications
(210 citation statements)
references
References 11 publications
0
210
0
Order By: Relevance
“…Specifically, all control dependencies within the code region targeted for elastic-block formation are converted into data dependencies, similarly to what is done, e.g., in hyperblock [12], conditional branches are replaced with comparison instructions which set the final predicate of all instructions that are control dependent on such branches. Even if generated using well known techniques, the final predicate is a very unique operand type in our target dataflow ISA, in that an instruction may actually execute even if the value of its final predicate is still unknown.…”
Section: Power Aware Ilp Extraction With Elastic-blocksmentioning
confidence: 99%
See 3 more Smart Citations
“…Specifically, all control dependencies within the code region targeted for elastic-block formation are converted into data dependencies, similarly to what is done, e.g., in hyperblock [12], conditional branches are replaced with comparison instructions which set the final predicate of all instructions that are control dependent on such branches. Even if generated using well known techniques, the final predicate is a very unique operand type in our target dataflow ISA, in that an instruction may actually execute even if the value of its final predicate is still unknown.…”
Section: Power Aware Ilp Extraction With Elastic-blocksmentioning
confidence: 99%
“…Note that, the semantics of our final predicate is, thus, somewhat different form that of the standard predication model adopted, for example in [13], due to performance reasons, instructions always execute, and their predicates are only used to decide if their results should be committed or not. Reflecting that fact, traditional hyperblock selection approaches, such as [12], do not favour the inclusion of large basic-blocks in a hyperblock, since such blocks utilize many machine resources and may actually end up negatively impacting performance, as opposed to enhancing it. As will be seen below, the elastic-block's increased flexibility enables such aggressive performance-enhancing ILP extraction techniques to be enhanced with energy awareness and efficiency considerations.…”
Section: Power Aware Ilp Extraction With Elastic-blocksmentioning
confidence: 99%
See 2 more Smart Citations
“…We choose hyperblock [16] as the basic structure in our CRCP algorithm. A hyperblock is a set of predicated basic blocks in which control may only enter from the top, but may exit from one or more locations.…”
Section: Basic Crcp Algorithmmentioning
confidence: 99%