International audienceSoftware pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class performances characteristics, but at the cost of significant obfuscation of the code, making this optimization difficult to test and debug. In this paper, we present a translation validation algorithm that uses symbolic evaluation to detect semantics discrepancies between a loop and its pipelined version. Our algorithm can be implemented simply and efficiently, is provably sound, and appears to be complete with respect to most modulo scheduling algorithms. A conclusion of this case study is that it is possible and effective to use symbolic eval...
AbstractIn this paper, we show how refinement calculus provides a basis for translation validation o...
Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlappi...
We introduce Gillian, a platform for developing symbolic analysis tools for programming languages. H...
International audienceTranslation validation consists of transforming a program and a posteriori val...
AbstractThe paper presents approaches to the validation of optimizing compilers. The emphasis is on ...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
AbstractTranslation validation is a technique for ensuring that a translator, such as a compiler, pr...
International audienceTranslation validation establishes a posteriori the correctness of a run of a ...
Due to the rapidly increasing complexity in hardware designs and competitive time to market trends i...
Software Pipelining is a loop scheduling technique that extracts loop parallelism by overlapping the...
this paper, we call it the symbolic execution method. The symbolic execution method is highly automa...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
The constant evolution of processors architectures, with superscalar, instruction-level parallelism,...
Behavioral synthesis involves compiling an Electronic System-Level (ESL) design into its RegisterTra...
Developing efficient programs for many of the current parallel computers is not easy due to the arch...
AbstractIn this paper, we show how refinement calculus provides a basis for translation validation o...
Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlappi...
We introduce Gillian, a platform for developing symbolic analysis tools for programming languages. H...
International audienceTranslation validation consists of transforming a program and a posteriori val...
AbstractThe paper presents approaches to the validation of optimizing compilers. The emphasis is on ...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
AbstractTranslation validation is a technique for ensuring that a translator, such as a compiler, pr...
International audienceTranslation validation establishes a posteriori the correctness of a run of a ...
Due to the rapidly increasing complexity in hardware designs and competitive time to market trends i...
Software Pipelining is a loop scheduling technique that extracts loop parallelism by overlapping the...
this paper, we call it the symbolic execution method. The symbolic execution method is highly automa...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
The constant evolution of processors architectures, with superscalar, instruction-level parallelism,...
Behavioral synthesis involves compiling an Electronic System-Level (ESL) design into its RegisterTra...
Developing efficient programs for many of the current parallel computers is not easy due to the arch...
AbstractIn this paper, we show how refinement calculus provides a basis for translation validation o...
Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlappi...
We introduce Gillian, a platform for developing symbolic analysis tools for programming languages. H...