Lifejacket: Verifying precise floating-point optimizations in LLVM

17Citations
Citations of this article
22Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Users depend on correct compiler optimizations but floating-point arithmetic is difficult to optimize transparently. Manually reasoning about all of floating-point arithmetic's esoteric properties is errorprone and increases the cost of adding new optimizations. We present an approach to automate reasoning about precise floating-point optimizations using satisfiability modulo theories (SMT) solvers. We implement the approach in LifeJacket, a system for automatically verifying precise floating-point optimizations for the LLVM assembly language. We have used LifeJacket to verify 43 LLVM optimizations and to discover eight incorrect ones, including three previously unreported problems. LifeJacket is an open source extension of the Alive system for optimization verification.

Cite

CITATION STYLE

APA

Nötzli, A., & Brown, F. (2016). Lifejacket: Verifying precise floating-point optimizations in LLVM. In SOAP 2016 - Proceedings of the 5th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, Co-located with PLDI 2016 (pp. 24–29). Association for Computing Machinery, Inc. https://doi.org/10.1145/2931021.2931024

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free