Conditional branches are expensive. Branches require a significant percentage of execution cycles since they occur frequently and cause pipeline flushes when mispredicted. In addition, branches result in forks in the control flow, which can prevent other code-improving transformations from being applied. In this paper we describe profile-based techniques for replacing the execution of a set of two or more branches with a single branch on a conventional scalar processor. First, we gather profile information to detect the frequently executed paths in a program. Second, we detect sets of conditions in frequently executed paths that can be merged into a single condition. Third, we estimate the benefit of merging each set of conditions. Finally,...
T here is an insatiable demand for computers ofever-increasing performance. Old applicationsare appl...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
The conditional branch has long been considered an expensive operation. The relative cost of condit...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
The conditional branch has long been considered an expensive operation. The relative cost of conditi...
An operational data flow analysis framework for tracking controlling expressions of conditional bran...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
To achieve highly accurate branch prediction, it is necessary not only to allocate more resources to...
Dynamic predication has been proposed to reduce the branch misprediction penalty due to hard-to-pred...
This article describes a technique for path unfolding for conditional branches in parallel programs ...
The challenge of exploiting high degrees of instruction-level parallelism is often hampered by frequ...
[[abstract]]Branches are a major limiting factor to instruction-level parallelism. One solution is t...
T here is an insatiable demand for computers ofever-increasing performance. Old applicationsare appl...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
The conditional branch has long been considered an expensive operation. The relative cost of condit...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
The conditional branch has long been considered an expensive operation. The relative cost of conditi...
An operational data flow analysis framework for tracking controlling expressions of conditional bran...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
To achieve highly accurate branch prediction, it is necessary not only to allocate more resources to...
Dynamic predication has been proposed to reduce the branch misprediction penalty due to hard-to-pred...
This article describes a technique for path unfolding for conditional branches in parallel programs ...
The challenge of exploiting high degrees of instruction-level parallelism is often hampered by frequ...
[[abstract]]Branches are a major limiting factor to instruction-level parallelism. One solution is t...
T here is an insatiable demand for computers ofever-increasing performance. Old applicationsare appl...
High performance microprocessors have relied on accurate branch predictors to maintain high instruct...
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard...