Controlled Node Splitting

@inproceedings{Janssen1996ControlledNS,
  title={Controlled Node Splitting},
  author={Johan Janssen and Henk Corporaal},
  booktitle={CC},
  year={1996}
}
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… Expand
Folklore confirmed: reducible flow graphs are exponentially larger
TLDR
It is proved that exponential blowup is unavoidable, and it is shown that any reducible graph that is equivalent to the complete graph on n nodes must have at least 2n-1 nodes. Expand
Control flow graph reconstruction for assembly language programs with delayed instructions
TLDR
This work describes an efficient algorithm for the construction of a CFG, where the parallelism has been eliminated, instructions are reordered and delay slots have been eliminated. Expand
Complete removal of redundant expressions
TLDR
The paper develops two methods for determining the optimization benefit of restructuring a program region, one based on path-profiles and the other on data-flow frequency analysis, and presents an algorithm for complete removal of partial redundancies, based on the integration of code motion and control flow restructuring. Expand
Complete removal of redundant expressions
TLDR
The paper develops two methods for determining the optimization benefit of restructuring a program region, one based on path-profiles and the other on data-flow frequency analysis, and presents an algorithm for complete removal of partial redundancies, based on the integration of code motion and control flow restructuring. Expand
Compiler Strategies for Transport Triggered Architectures
TLDR
In this thesis, compiler techniques and strategies are described to enhance the performance of microprocessors based on the Transport Triggered Architecture and a new technique, integrated assignment, is introduced which integrates instruction scheduling and register assignment in a single phase. Expand
Compilation infrastructure for dataflow programs
TLDR
This thesis presents a compilation infrastructure for dataflow programs that can compile these programs to a simple, high-level Intermediate Representation (IR), and shows how this IR can be used to analyze, transform, and generate code for data flow programs in many languages, from C to hardware description languages. Expand
Kronecker Algebra-based Deadlock Analysis in the Linux Kernel
Multi-core technology has moved concurrent programming to the forefront of computer science. The C programming language explicitly supports concurrent programming through POSIX threads. ThreadsExpand
Getting Objects Methods and Interactions by Extracting Business Rules from Legacy Systems
TLDR
The aim is advancing a solution for re-engineering legacy systems, minimize the cost of their modernization and keep very small the gap between the company business and the renovated systems. Expand
Decompilation of LLVM IR
...
1
2
...

References

SHOWING 1-10 OF 18 REFERENCES
Making graphs reducible with controlled node splitting
TLDR
A new method for transforming irreducible control flow graphs to reducible control flow graph, called Controlled Node Splitting (CNS), is presented and the results are close to the optimum. Expand
A Control-Flow Normalization Algorithm and Its Complexity
TLDR
A single method for normalizing the control-flow of programs to facilitate program transformations, program analysis, and automatic parallelization is presented, which obviates the control dependence graph and is simpler in their syntax and structure than with previous methods. Expand
Global instruction scheduling for superscalar machines
TLDR
A scheme for global (intra-loop) scheduling is proposed, which uses the control and data dependence information summarized in a Program Dependence Graph, to move instructions well beyond basic block boundaries. Expand
Taming control flow: a structured approach to eliminating goto statements
  • Ana M. Erosa, L. Hendren
  • Computer Science
  • Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)
  • 1994
TLDR
A straight-forward algorithm to structure C programs by eliminating all goto statements by working directly on a high-level abstract syntax tree (AST) representation of the program and could easily be integrated into any compiler that uses an AST-based intermediate representation. Expand
A program data flow analysis procedure
The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which canExpand
Flow graph reducibility
TLDR
This work characterize the set of flow graphs that can be analyzed in this way in terms of two very simple transformation on graphs and gives a necessary and sufficient condition for analyzability and applies it to “goto-less programs,” showing that they all meet the criterion. Expand
Elimination algorithms for data flow analysis
TLDR
A unified model of a family of data flow algorithms, called elimination methods, is presented, which provides implementation-independent descriptions of the algorithms to facilitate comparisons among them and illustrate the sources of improvement in worst case complexity bounds. Expand
Compilers: Principles, Techniques, and Tools
  • A. Aho, R. Sethi, J. Ullman
  • Computer Science
  • Addison-Wesley series in computer science / World student series edition
  • 1986
TLDR
This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization. Expand
Transport-Triggering versus Operation-Triggering
TLDR
Experiments are reported that quantify the advantages of transport-triggered architectures with respect to traditional operation-trIGgered architectures. Expand
MOVE: a framework for high-performance processor design
  • H. Corporaal, H. Mulder
  • Computer Science
  • Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91)
  • 1991
No abstract available
...
1
2
...