Instruction selection implements a program under compilation by selecting processor instructions and has tremendous impact on the performance of the code generated by a compiler. This paper introduces a graph-based universal representation that unifiees data and control flow for both programs and processor instructions. The representation is the essential prerequisite for a constraint model for instruction selection introduced in this paper. The model is demonstrated to be expressive in that it supports many processor features that are out of reach of state-of-the-art approaches, such as advanced branching instructions, multiple register banks, and SIMD instructions. The resulting model can be solved for small to medium size input programs ...
Common generated instruction selections are based on tree pattern matching, but modern and custom ar...
Formal models for a computer and for programs are introduced. These models are used to develop a the...
We describe an automated way to generate data for a practical LLVM instruction selector based on mac...
In code generation, instruction selection chooses processor instructions to implement a program unde...
In code generation, instruction selection chooses instructions to implement a given program under co...
A multi-output instruction (MOI) is an instruction that produces multiple outputs to its destination...
This book presents a comprehensive, structured, up-to-date survey on instruction selection. The surv...
Instruction selection is a well-studied compiler phase that trans-lates the compiler’s intermediate ...
Instruction selection is one of three optimization problems – the other two areinstruction schedulin...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
One of the most difficult tasks a compiler writer faces is the construction of the instruction selec...
We address the problem of instruction selection for Multi-Output Instructions (MOIs), producing more...
International audienceThe application-specific instruction set processors (ASIPs) have received more...
Compilers translate code from a source language to a target language. Generating optimal code is the...
International audienceThe use of tree pattern matching for instruction selection has proven very suc...
Common generated instruction selections are based on tree pattern matching, but modern and custom ar...
Formal models for a computer and for programs are introduced. These models are used to develop a the...
We describe an automated way to generate data for a practical LLVM instruction selector based on mac...
In code generation, instruction selection chooses processor instructions to implement a program unde...
In code generation, instruction selection chooses instructions to implement a given program under co...
A multi-output instruction (MOI) is an instruction that produces multiple outputs to its destination...
This book presents a comprehensive, structured, up-to-date survey on instruction selection. The surv...
Instruction selection is a well-studied compiler phase that trans-lates the compiler’s intermediate ...
Instruction selection is one of three optimization problems – the other two areinstruction schedulin...
This paper introduces a constraint model and solving techniques for code generation in a compiler b...
One of the most difficult tasks a compiler writer faces is the construction of the instruction selec...
We address the problem of instruction selection for Multi-Output Instructions (MOIs), producing more...
International audienceThe application-specific instruction set processors (ASIPs) have received more...
Compilers translate code from a source language to a target language. Generating optimal code is the...
International audienceThe use of tree pattern matching for instruction selection has proven very suc...
Common generated instruction selections are based on tree pattern matching, but modern and custom ar...
Formal models for a computer and for programs are introduced. These models are used to develop a the...
We describe an automated way to generate data for a practical LLVM instruction selector based on mac...