Irregular control-flow structures like deeply nested conditional branches are common in real-world software applications. Improving the performance and efficiency of such programs is often challenging because it is difficult to analyze and optimize programs with irregular control flow. We observe that real-world programs contain similar or identical computations within different code paths of the conditional branches. Compilers can merge similar code to improve performance or code size. However, existing compiler optimizations like code hoisting/sinking, and tail merging do not fully exploit this opportunity. We propose a new technique called Control-Flow Melding (CFM) that can merge similar code sequences at the control-flow region level. ...
This paper presents a novel source code transformation for control flow optimization called loop nes...
Static analysis requires the full knowledge of the overall program structure. The structure of a pro...
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framewo...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
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...
Branch divergence is a very commonly occurring performance problem in GPGPU in which the execution o...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
The conditional branch has long been considered an expensive operation. The relative cost of conditi...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
International audienceThe increasing popularity of Graphics Processing Units (GPUs), has brought ren...
Dynamic predication has been proposed to reduce the branch misprediction penalty due to hard-to-pred...
Binary code analysis has attracted much attention. The difficulty lies in constructing a Control Flo...
An operational data flow analysis framework for tracking controlling expressions of conditional bran...
The quality of synthesis results for most, high-level synthesis approaches is strongly affected by t...
This paper presents a novel source code transformation for control flow optimization called loop nes...
Static analysis requires the full knowledge of the overall program structure. The structure of a pro...
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framewo...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
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...
Branch divergence is a very commonly occurring performance problem in GPGPU in which the execution o...
Current processors exploit out-of-order execution and branch prediction to improve instruction level...
The conditional branch has long been considered an expensive operation. The relative cost of conditi...
This paper proposes a new processor architecture for handling hard-to-predict branches, the diverge-...
International audienceThe increasing popularity of Graphics Processing Units (GPUs), has brought ren...
Dynamic predication has been proposed to reduce the branch misprediction penalty due to hard-to-pred...
Binary code analysis has attracted much attention. The difficulty lies in constructing a Control Flo...
An operational data flow analysis framework for tracking controlling expressions of conditional bran...
The quality of synthesis results for most, high-level synthesis approaches is strongly affected by t...
This paper presents a novel source code transformation for control flow optimization called loop nes...
Static analysis requires the full knowledge of the overall program structure. The structure of a pro...
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framewo...