Abstract
This paper addresses the question of how to handle irreducible regions during optimization, which has become even more relevant for contemporary processors since recent VLIW-like architectures highly rely on instruction scheduling. The contributions of this paper are twofold. First, a method of optimized node splitting to transform irreducible regions of control flow into reducible regions is derived. This method is superior to approaches previously published since it reduces the number of replicated nodes by comparison. Second, three methods that handle regions of irreducible control flow are evaluated with respect to their impact on compiler optimizations: traditional and optimized node splitting as well as loop analysis through DJ graphs. Measurements show improvements of 1–40% for these methods of handling irreducible loop over the unoptimized case.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers-Principles, Techniques, and Tools. Addison-Wesley, 1986.
F. Allen. Control flow analysis. Sigplan Notices, 5(7):1–19, 1970.
M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conf. on Programming Language Design and Impl., pages 329–338, June 1988.
J. Cocke and J. Miller. Some analysis techniques for optimizing computer programs. In 2nd Hawaii Conference on System Sciences, pages 143–146, 1969.
P. Havlak. Nesting if reducible and irreducible loops. ACM Trans. Programming Languages and Systems, 19(4):557–567, July 1997.
J. Hoogerbrugge and L. Augusteijn. Instruction scheduling for trimedia. Journal of Instruction-Level Parallelsim, 1(1–2), 1999. http://www.jilp.org.
J. Janssen and H. Corporaal. Making graphs reducible with controlled node splitting. ACM Trans. Programming Languages and Systems, 19(6):1031–1052, November 1997.
F. Mueller and D. B. Whalley. Avoiding unconditional jumps by code replication. In ACM SIGPLAN Conf. on Programming Language Design and Impl., pages 322–330, June 1992.
F. Mueller and D. B. Whalley. Avoiding conditional branches by code replication. In ACM SIGPLAN Conf. on Programming Language Design and Impl., pages 56–66, June 1995.
G. Ramalingam. On loop, dominators, and dominance frontier. In ACM SIGPLAN Conf. on Programming Language Design and Impl., pages 233–241, June 2000.
V. Sreedhar, G. Gao, and Y. Lee. Identifying loops using DJ graphs. ACM Trans. Programming Languages and Systems, 18(6):649–658, November 1996.
S. Unger and F. Mueller. Handling irreducible loops: Optimized node splitting vs. dj-graphs. TR 146, Inst. f. Informatik, Humbolt University Berlin, January 2001. http://www.informatik.hu-berlin.de/~mueller.
Nancy J. Warter, Grant E. Haab, Krishna Subramanian, and John W. Bockhaus. Enhanced modulo scheduling for loops with conditional branches. In 25th Annual International Symposium on Microarchitecture (MICRO-25), pages 170–179, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Unger, S., Mueller, F. (2001). Handling Irreducible Loops: Optimized Node Splitting vs. DJ-Graphs. In: Sakellariou, R., Gurd, J., Freeman, L., Keane, J. (eds) Euro-Par 2001 Parallel Processing. Euro-Par 2001. Lecture Notes in Computer Science, vol 2150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44681-8_32
Download citation
DOI: https://doi.org/10.1007/3-540-44681-8_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42495-6
Online ISBN: 978-3-540-44681-1
eBook Packages: Springer Book Archive