Results 1 
9 of
9
fast optimal instruction selection and tree parsing
 ACM Sigplan Notices
, 1992
"... 1 Overv iew BURG is a program that generates a fast tree parser using BURS (BottomUp Rewrite System) technology. It accepts a costaugmented tree grammar and emits a C program that discovers in linear time an optimal parse of trees in the language described by the grammar. BURG has been used to con ..."
Abstract

Cited by 45 (2 self)
 Add to MetaCart
1 Overv iew BURG is a program that generates a fast tree parser using BURS (BottomUp Rewrite System) technology. It accepts a costaugmented tree grammar and emits a C program that discovers in linear time an optimal parse of trees in the language described by the grammar. BURG has been used to construct fast optimal instruction selectors for use in code generation. BURG addresses many of the problems addressed by TWIG [AGT89, App87], but it is somewhat less flexible and much faster. BURG is available via anonymous f tp from kaese.cs.w isc.edu. The compressed shar file pub/burg, shar. Z holds the complete distribution. This document describes only that fraction of the BURS model that is required to use BURG. Readers interested in more detail might start with Reference [BDB90]. Other relevant documents
Code generation based on formal BURS theory and heuristic search
 Acta Informatica
, 1997
"... BURS theory provides a powerful mechanism to efficiently generate pattern matches in a given expression tree. BURS, which stands for bottomup rewrite system, is based on term rewrite systems, to which costs are added. We formalise the
underlying theory, and derive an algorithm that computes all pat ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
BURS theory provides a powerful mechanism to efficiently generate pattern matches in a given expression tree. BURS, which stands for bottomup rewrite system, is based on term rewrite systems, to which costs are added. We formalise the
underlying theory, and derive an algorithm that computes all pattern matches. This algorithm terminates if the term rewrite system is finite. We couple this algorithm with
the wellknown search algorithm A* that carries out pattern selection. The search algorithm is directed by a cost heuristic that estimates the minimum cost of code that
has yet to be generated. The advantage of using a search algorithm is that we need to compute only those costs that may be part of an optimal rewrite sequence (and not the costs of all possible rewrite sequences as in dynamic programming). A system that implements the algorithms presented in this work has been built.
Hardcoding Bottomup Code Generation Tables to Save Time and Space
, 1991
"... This paper describes a program that compiles BURS tables into a combination of hard code and data. Hardcoding exposed important opportunities for compression that were previously hidden in the tables, so the hardcoded code generators are not just faster but also significantly smaller than their pr ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
This paper describes a program that compiles BURS tables into a combination of hard code and data. Hardcoding exposed important opportunities for compression that were previously hidden in the tables, so the hardcoded code generators are not just faster but also significantly smaller than their predecessors. A VAX code generator takes 21.4Kbytes and identifies optimal assembly code in about 50 VAX instructions per node
PhaseCoupled Mapping of Data Flow Graphs to Irregular Data Paths
 Embedded Systems
, 1999
"... . Many software compilers for embedded processors produce machine code of insufficient quality. Since for most applications software must meet tight code speed and size constraints, embedded software is still largely developed in assembly language. In order to eliminate this bottleneck and to enable ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
. Many software compilers for embedded processors produce machine code of insufficient quality. Since for most applications software must meet tight code speed and size constraints, embedded software is still largely developed in assembly language. In order to eliminate this bottleneck and to enable the use of highlevel language compilers also for embedded software, new code generation and optimization techniques are required. This paper describes a novel code generation technique for embedded processors with irregular data path architectures, such as typically found in fixedpoint DSPs.The proposed code generation technique maps data flow graph representation of a program into highly efficient machine code for a target processor modeled by instruction set behavior. High code quality is ensured by tight coupling of different code generation phases. In contrast to earlier works, mainly based on heuristics, our approach is constraintbased. An initial set of constraints on code generati...
Code Generation Techniques
 In INFOCOM (1
, 1992
"... Optimal instruction scheduling and register allocation are NPcomplete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delayedload architectures to expression trees we are able to find optimal schedules quickly. This thesis ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
Optimal instruction scheduling and register allocation are NPcomplete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delayedload architectures to expression trees we are able to find optimal schedules quickly. This thesis presents a fast, optimal code scheduling algorithm for processors with a delayed load of 1 instruction cycle. The algorithm minimizes both execution time and register use and runs in time proportional to the size of the expression tree. In addition, the algorithm is simple
Optimal regular tree pattern matching using pushdown automata
, 1998
"... Abstract. We propose a construction that augments the precomputation step of a regular tree pattern matching algorithm to include cost analysis. The matching device generated is a pushdown automaton in contrast with the conventionallygenerated tree pattern matching automaton. Our technique can handl ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a construction that augments the precomputation step of a regular tree pattern matching algorithm to include cost analysis. The matching device generated is a pushdown automaton in contrast with the conventionallygenerated tree pattern matching automaton. Our technique can handle a larger class of cost augmented regular tree grammars than can be preprocessed byconventional methods, and has been tested on some input problem instances representing instruction sets for processors. 1
Code Generation = A* + BURS
 Compiler Construction
, 1996
"... A system called BURS that is based on term rewrite systems and a search algorithm A* are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is derived fro ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
A system called BURS that is based on term rewrite systems and a search algorithm A* are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is derived from the term rewrite system to direct the search. The advantage of using a search algorithm is that we need to compute only those costs that may be part of an optimal rewrite sequence.
unknown title
, 1996
"... Code generation based on formal BURS theory and heuristic search ..."
(Show Context)
Code Generation = A+BURS
"... Abstract. A system called BURS that is based on term rewrite systems and a search algorithm A are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is de ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. A system called BURS that is based on term rewrite systems and a search algorithm A are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is derived from the term rewrite system to direct the search. The advantage of using a search algorithm is that we need to compute only those costs that may be part of an optimal rewrite sequence. Key words: compiler generators, code generation, term rewrite systems, search algorithms, formal techniques Compiler building is a timeconsuming and errorprone activity. Building the frontend (i.e. scanner, parser and intermediatecode generator) is straightforwardâ€”the theory is well established, and there is ample tool support. The main problem lies with the backend, namely the code generator and optimiserâ€”there is little theory and even less tool support. Generating a code generator from an abstract specification, also called automatic code generation, remains a very difficult problem.