The optimization phase of a compiler is responsible for transforming an intermediate representation (IR) of a program into a more efficient form. Modern optimizers, such as that used in the GraalVM compiler, use an IR consisting of a sophisticated graph data structure that combines data flow and control flow into the one structure. As part of a wider project on the verification of optimization passes of GraalVM, this paper describes a semantics for its IR within Isabelle/HOL. The semantics consists of a big-step operational semantics for data nodes (which are represented in a graph-based static single assignment (SSA) form) and a small-step operational semantics for handling control flow including heap-based reads and writes, exceptions, an...
AbstractSemantics preservation between source and target program is the commonly accepted minimum re...
An end-to-end guarantee of software correctness by formal verification must consider two sources of ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...
We present our compiler intermediate representation Firm. Programs are always in SSA-form enabling a...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
The challenge of the Compiler Optimization Case [2] is to perform local optimizations and instructio...
Abstract: Optimizations in compilers are the most error-prone phases in the compilation process. Sin...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
International audienceThis paper presents a technique for representing the high level semantics of p...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
AbstractCorrectness of compilers is a vital precondition for the correctness of the software transla...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Our goal is to develop a new and highly flexible approach to program optimization. Instead of apply...
AbstractSemantics preservation between source and target program is the commonly accepted minimum re...
An end-to-end guarantee of software correctness by formal verification must consider two sources of ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...
We present our compiler intermediate representation Firm. Programs are always in SSA-form enabling a...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
The challenge of the Compiler Optimization Case [2] is to perform local optimizations and instructio...
Abstract: Optimizations in compilers are the most error-prone phases in the compilation process. Sin...
Every compiler passes code through several stages, each a sort of mini- compiler of its own. Thus...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
International audienceThis paper presents a technique for representing the high level semantics of p...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
AbstractCorrectness of compilers is a vital precondition for the correctness of the software transla...
AbstractA compiler optimization is sound if the optimized program that it produces is semantically e...
Our goal is to develop a new and highly flexible approach to program optimization. Instead of apply...
AbstractSemantics preservation between source and target program is the commonly accepted minimum re...
An end-to-end guarantee of software correctness by formal verification must consider two sources of ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...