The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
On finding lowest common ancestors in trees
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Global common subexpression elimination
Proceedings of a symposium on Compiler optimization
A framework for global communication analysis of optimizations
Compiler optimizations for scalable parallel systems
A Partitioning Programming Environment for a Novel Parallel Architecture
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Hardware/Software Co-Design for Data-Driven Xputer-based Accelerators
VLSID '97 Proceedings of the Tenth International Conference on VLSI Design: VLSI in Multimedia Applications
The Fortran parallel transformer and its programming environment
Information Sciences: an International Journal
Node listings for reducible flow graphs
Journal of Computer and System Sciences
Identifying irreducible loops in the Instrumentation Point Graph
Journal of Systems Architecture: the EUROMICRO Journal
Using datalog with binary decision diagrams for program analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Gateway decompositions for constrained reachability problems
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
An efficient algorithm for finding maximum cycle packings in reducible flow graphs
ISAAC'04 Proceedings of the 15th international conference on Algorithms and Computation
A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Structural analysis: A new approach to flow analysis in optimizing compilers
Computer Languages
A new algorithm for identifying loops in decompilation
SAS'07 Proceedings of the 14th international conference on Static Analysis
Finding dominators via disjoint set union
Journal of Discrete Algorithms
Hi-index | 0.00 |
Many problems in program optimization have been solved by applying a technique called interval analysis to the flow graph of the program. A flow graph which is susceptible to this type of analysis is called reducible. This paper describes an algorithm for testing whether a flow graph is reducible. The algorithm uses depth-first search to reveal the structure of the flow graph and a good method for computing disjoint set unions to determine reducibility from the search information. When the algorithm is implemented on a random access computer, it requires O(E log^*E) time to analyze a graph with E edges, where log^*x=min{i@?log^(^i^)x@?1}. The time bound compares favorably with the O(E log E) bound of a previously known algorithm.