University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 2012 Formalizing the LLVM Intermediate Representation for Verified Program Transformations Jianzhou Zhao University of Pennsylvania Santosh Nagarakatte University of Pennsylvania,
[email protected] Milo Martin University of Pennsylvania,
[email protected] Stephan A. Zdancewic University of Pennsylvania,
[email protected] Follow this and additional works at: https://repository.upenn.edu/cis_papers Part of the Computer Sciences Commons Recommended Citation Jianzhou Zhao, Santosh Nagarakatte, Milo Martin, and Stephan A. Zdancewic, "Formalizing the LLVM Intermediate Representation for Verified Program Transformations", . January 2012. Jianzhou Zhao, Santosh Nagarakatte, Milo M. K. Martin, and Steve Zdancewic. Formalizing the LLVM Intermediate Representation for Verified Program Transformations. In Proc. of the ACM Symposium on Principles of Programming Languages (POPL), 2012 doi>10.1145/2103656.2103709 © ACM, 2012. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proc. of the ACM Symposium on Principles of Programming Languages, { (2012)} http://doi.acm.org/doi>10.1145/2103656.2103709" Email
[email protected] This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_papers/560 For more information, please contact
[email protected]. Formalizing the LLVM Intermediate Representation for Verified Program Transformations Abstract This paper presents Vellvm (verified LLVM), a framework for reasoning about programs expressed in LLVM's intermediate representation and transformations that operate on it. Vellvm provides a mechanized formal semantics of LLVM's intermediate representation, its type system, and properties of its SSA form.