8 research outputs found
A modification to BURS in codegeneration
In this report a modification to a BURS algorithm is presented.
With this modification we have a nearly linear run-time instead
of a the exponentiell run-time
Beschreibung externer Komponenten zur Analyse und Optimierung von Softwaresystemen
Um Komponenten zu beschreiben, die einem Uebersetzer in einem
Uebersetzungslauf nicht in Quelltext vorliegen, weil sie entweder
als Bibliotheken von Drittanbietern nur in binaerer Form
verfuegbar
sind, oder weil der Uebersetzer aus Kapazitaetsgruenden ihren
Quelltext nicht in einen Uebersetzungslauf mit einbeziehen kann,
wurde eine Beschreibungssprache entwickelt. Mit ihr lassen sich
wichtige Eigenschaften der extern Komponenten beschreiben und dem
Uebersetzer zur Verfuegung stellen, so dass Programmanalysen das
Verhalten von Fragmenten der externen Komponenten mit
beruecksichtigen koennen
Firm. An intermediate language for compiler research
State of the art compiler intermediate representations
incorporate SSA
data dependencies in a graph based manner. We present the
intermediate representation Firm, which extends the
functional stores
of Steensgard and introduces a novel representation of
exceptions.
Firm offers a high-level representation of the type
hierarchy and
object-oriented features, which makes it exceptional
suitable for
analysing and optimizing of strongly typed languages. The
construction interface automates value numbering and the
generation of
SSA typical Phi operations. Firm comes with a full blown
range of
standard optimizations and analyses.
In the paper we show that Firm requires 53% less
operationss and 80%
less Phi operations than the SSA representation of the gcc
compiler
Verified Code Generation for Embedded Systems
Digital signal processors provide specialized SIMD (single instruction multiple data) operations designed to dramatically increase performance in embedded systems. While these operations are simple to understand, their unusual functions and their parallelism make it difficult for automatic code generation algorithms to use them effectively. In this paper, we present a new optimizing code generation method that can deploy these operations successfully while also verifying that the generated code is a correct translation of the input program