Abstract
We present a compiler internal program optimization that uses graph rewriting. This optimization enables the compiler to automatically use rich instructions (such as SIMD instructions) provided by modern CPUs and is transparent to the user of the compiler. New instructions can be introduced easily by specifying their behaviour in a high-level programming language. The optimization is integrated into an existing compiler, gaining high speedup.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Geiß, R., Kroll, M.: GrGen.NET: A Fast, Expressive, and General Purpose Graph Rewrite Tool. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088. Springer, Heidelberg (2008)
Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: A Fast SPO-Based Graph Rewriting Tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)
Batz, G.V.: Graphersetzung für eine Zwischendarstellung im Übersetzerbau. Master’s thesis, Universität Karlsruhe (2005)
Intel Corporation, O. Box 5937, Denver, CO 80217-9808: Intel 64 and IA-32 Architectures Software Developer’s Manual – Instruction Set Reference (2007)
Trapp, M., Lindenmaier, G., Boesler, B.: Documentation of the Intermediate Representation FIRM. Technical Report 1999-14, Universität Karlsruhe, Fakultät für Informatik (1999)
Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)
Cooper, K.D., Torczon, L.: Engineering a Compiler. Morgan Kaufmann Publishers Inc., San Francisco (2004)
Motorola Phoenix, AZ, USA: AltiVec Technology Programming Environments Manual (1998)
Ghiya, R., Lavery, D., Sehr, D.: On the Importance of Points-To Analysis and Other Memory Disambiguation Methods for C Programs. In: Proceedings of the ACM SIGPLAN 2001 PLDI, pp. 47–58 (2001)
Hofmann, E.: Regelerzeugung zur maschinenabhängigen Codeoptimierung. Master’s thesis, Universität Karlsruhe (2004)
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)
Eckstein, E., König, O., Scholz, B.: Code Instruction Selection Based on SSA-Graphs. In: Krall, A. (ed.) SCOPES 2003. LNCS, vol. 2826, pp. 49–65. Springer, Heidelberg (2003)
Jakschitsch, H.: Befehlsauswahl auf SSA-Graphen. Master’s thesis, Universität Karlsruhe (2004)
Metzger, R., Wen, Z.: Automatic Algorithm Recognition and Replacement: A new Approach to Program Optimization. MIT Press, Cambridge (2000)
CONVEX Computer Corp. O. Box 5937, Denver, CO 80217-9808: CONVEX Application Compiler User’s Guide, 2nd ed. (1992)
Intel Corporation: Block-Matching In Motion Estimation Algorithms Using Streaming SIMD Extensions 3. Technical report, Intel Corporation, O. Box 5937, Denver, CO 80217-9808 (2003)
Pryanishnikov, I., Krall, A., Horspool, N.: Pointer Alignment Analysis for Processors with SIMD Instructions. In: 5th Workshop on Media and Streaming Processors (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schösser, A., Geiß, R. (2008). Graph Rewriting for Hardware Dependent Program Optimizations. In: Schürr, A., Nagl, M., Zündorf, A. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2007. Lecture Notes in Computer Science, vol 5088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89020-1_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-89020-1_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89019-5
Online ISBN: 978-3-540-89020-1
eBook Packages: Computer ScienceComputer Science (R0)