Abstract
Major C/C++ compilers use their own implements of type-based alias analysis; however, the impact of such algorithms on VLIW (Very Long Instruction Word) processors is not explored. This paper describes an implementation and effects of a simple type-based alias analysis known as strict-aliasing in the C/C++ compiler for Elbrus processor. Elbrus is a general-purpose VLIW microprocessor that relies on compiler optimizations for good performance. This paper demonstrates that strict-aliasing is a fast and scalable alias analysing technique. SPEC CPU2006 benchmarks measurement showed in the mean execution speed improvement of 28.6% for INT tests and 13.3% for FP tests in per module compilation mode. The measurement of whole-program mode showed 4.3% execution speed improvement for FP tests and 1.9% speed improvement for INT tests. These results illustrate that strict-aliasing can serve as a substitute for tradidional analysis in per module build mode and also disambiguate additional pointers in whole-program build mode.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Spec - standard performance evaluation corporation. http://www.spec.org. Accessed 30 Nov 2016
Andersen, L.O.: Program analysis and specialization for the c programming language. Technical report (1994)
Babayan, B.: E2K technology and implementation. In: Bode, A., Ludwig, T., Karl, W., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, pp. 18–21. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44520-X_2
Diwan, A., McKinley, K.S., Moss, J.E.B.: Type-based alias analysis. In: Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation, PLDI 1998, pp. 106–117. ACM, New York (1998)
Hind, M.: Pointer analysis: haven’t we solved this problem yet? In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE 2001, pp. 54–61. ACM, New York (2001)
Ireland, I., Amaral, J.N., Silvera, R., Cui, S.: Safetype: detecting type violations for type-basedalias analysis of C. Softw. Pract. Exp. 46(11), 1571–1588 (2016)
Programming languages – c. Standard, April 2011
Pan, Z., Eigenmann, R.: Compiler optimization orchestration for peak performance, August 2017
Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1996, pp. 32–41. ACM, New York (1996)
Wang, X., Chen, H., Cheung, A., Jia, Z., Zeldovich, N., Kaashoek, M.F.: Undefined behavior: what happened to my code? In: Proceedings of the Asia-Pacific Workshop on Systems, APSYS 2012, pp. 9:1–9:7. ACM, New York (2012)
Whaley, J., Lam, M.S.: An efficient inclusion-based points-to analysis for strictly-typed languages. In: Proceedings of the 9th International Symposium on Static Analysis, SAS 2002, pp. 180–195. Springer, London (2002)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Markin, A., Ermolitsky, A. (2018). Simple Type-Based Alias Analysis for a VLIW Processor. In: Itsykson, V., Scedrov, A., Zakharov, V. (eds) Tools and Methods of Program Analysis. TMPA 2017. Communications in Computer and Information Science, vol 779. Springer, Cham. https://doi.org/10.1007/978-3-319-71734-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-71734-0_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-71733-3
Online ISBN: 978-3-319-71734-0
eBook Packages: Computer ScienceComputer Science (R0)