To exploit instruction level parallelism in programs over multiple basic blocks, programs should have reducible control flow graphs. However not all programs satisfy this property. A new method, called Controlled Node Splitting (CNS), for transforming irreducible control flow graphs to reducible control flow graphs is presented. CNS duplicates nodes of the control flow graph to obtain reducible control flow graphs. CNS results in a minimum number of splits and a minimum number of duplicates. Since the computation time to find the optimal split sequence is large, a heuristic has been developed. The results of this heuristic are close to the optimum. Straightforward application of node splitting may result in an average code size increase of ...
Neuron tree topology equations can be split into two subtrees and solved on different processors wit...
Many compilation problems require computing the control dependence equivalence relation which divide...
this paper we consider two elaborations of this algorithm, which are dealt with in Part I and Part I...
This paper addresses the question of how to handle irreducible regions during optimization, which ha...
AbstractTo improve the accuracy of invariants found when analyzing a transition system, we introduce...
Text includes handwritten formulasIn data flow programs, instructions execute when their operands be...
Abstract—Control flow graphs are a well-known representation of the sequential control flow structur...
. A structuring algorithm for arbitrary control flow graphs is presented. Graphs are structured into...
The history of programming is filled with works about the properties of program flow graphs. There a...
AbstractIrreducible program fowgraphs are important in the study of program structuredness. In this ...
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectoriza...
Branch divergence is a very commonly occurring performance problem in GPGPU in which the execution o...
A variety of applications have arisen where it is worthwhile to apply code optimizations directly to...
AbstractThe register allocation problem for an imperative program is often modeled as the coloring p...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
Neuron tree topology equations can be split into two subtrees and solved on different processors wit...
Many compilation problems require computing the control dependence equivalence relation which divide...
this paper we consider two elaborations of this algorithm, which are dealt with in Part I and Part I...
This paper addresses the question of how to handle irreducible regions during optimization, which ha...
AbstractTo improve the accuracy of invariants found when analyzing a transition system, we introduce...
Text includes handwritten formulasIn data flow programs, instructions execute when their operands be...
Abstract—Control flow graphs are a well-known representation of the sequential control flow structur...
. A structuring algorithm for arbitrary control flow graphs is presented. Graphs are structured into...
The history of programming is filled with works about the properties of program flow graphs. There a...
AbstractIrreducible program fowgraphs are important in the study of program structuredness. In this ...
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectoriza...
Branch divergence is a very commonly occurring performance problem in GPGPU in which the execution o...
A variety of applications have arisen where it is worthwhile to apply code optimizations directly to...
AbstractThe register allocation problem for an imperative program is often modeled as the coloring p...
Irregular control-flow structures like deeply nested conditional branches are common in real-world s...
Neuron tree topology equations can be split into two subtrees and solved on different processors wit...
Many compilation problems require computing the control dependence equivalence relation which divide...
this paper we consider two elaborations of this algorithm, which are dealt with in Part I and Part I...