Peephole optimizations optimize and canonicalize code to enable other optimizations but are error-prone. Our prior research on Alive, a domain-specific language for specifying LLVM’s peephole optimizations, automatically verifies the correctness of integer-based peephole optimizations and generates C++ code for use within LLVM. This paper proposes Alive-FP, an automated verification and code generation framework for floating point based peephole optimizations in LLVM. Alive-FP handles bit precise floating point optimizations and a class of fast-math optimizations involving signed zeros, not-a-number, and infinities. This paper provides multiple encodings for various floating point operations to account for the various kinds of undefined beh...
Verification of programs using floating-point arithmetic is challenging on several accounts. One of ...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
dissertationVirtually all real-valued computations are carried out using floating-point data types a...
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations th...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
One of the important feature of application specific processors is performance. To maximize it, the ...
© 2021, The Author(s).Several automatic verification tools have been recently developed to verify su...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
Abstract Peephole optimizers are typically constructed using human-writtenpattern matching rules, an...
The classical meaning of superoptimization is to find the optimal code sequence for a single, loop-f...
Verified compilers such as CompCert and CakeML have become increasingly realistic over the last few ...
Test generation for datapath floating-point verification involves targeting intricate corner cases, ...
© 2018 Copyright held by the owner/author(s).Production compilers such as GCC and LLVM are large com...
An effective approach to handling the theory of floating-point is to reduce it to the theory of bit-...
An effective approach to handling the theory of floating-point is to reduce it to the theory of bit-...
Verification of programs using floating-point arithmetic is challenging on several accounts. One of ...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
dissertationVirtually all real-valued computations are carried out using floating-point data types a...
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations th...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
One of the important feature of application specific processors is performance. To maximize it, the ...
© 2021, The Author(s).Several automatic verification tools have been recently developed to verify su...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
Abstract Peephole optimizers are typically constructed using human-writtenpattern matching rules, an...
The classical meaning of superoptimization is to find the optimal code sequence for a single, loop-f...
Verified compilers such as CompCert and CakeML have become increasingly realistic over the last few ...
Test generation for datapath floating-point verification involves targeting intricate corner cases, ...
© 2018 Copyright held by the owner/author(s).Production compilers such as GCC and LLVM are large com...
An effective approach to handling the theory of floating-point is to reduce it to the theory of bit-...
An effective approach to handling the theory of floating-point is to reduce it to the theory of bit-...
Verification of programs using floating-point arithmetic is challenging on several accounts. One of ...
Many portable compilers generate an intermediate code that is subsequently translated into the targe...
dissertationVirtually all real-valued computations are carried out using floating-point data types a...