## Integer Linear Programming vs. Graph-Based Methods in Code Generation (1998)

Citations: | 6 - 1 self |

### BibTeX

@TECHREPORT{Kästner98integerlinear,

author = {D. Kästner and M. Langenbach and Fb Informatik and Daniel Kastner and Daniel Kastner and Marc Langenbach and Marc Langenbach},

title = {Integer Linear Programming vs. Graph-Based Methods in Code Generation},

institution = {},

year = {1998}

}

### OpenURL

### Abstract

A common characteristic of many embedded applications is that they are aimed at the high-volume consumer market, which is extremely cost-sensitive. However many of them impose stringent performance demands on the underlying system. Therefore, the code generation must take into account the restrictions and features given by the target architecture while satisfying these performance demands. High-level language compilers often are unable to generate code meeting these requirements. One reason is the phase coupling problem between instruction scheduling and register allocation. Many compilers perform these tasks separately with each phase ignorant of the requirements of the other. Commonly, each task is accomplished by using heuristic methods. As the goals of the two phases often conflict, whichever phase is performed first imposes constraints on the other, sometimes producing inefficient code. Integer linear programming (ILP) provides an integrated approach to the combined instruction sc...

### Citations

1039 |
Integer and Combinatorial Optimization
- Nemhauser, Wolsey
- 1988
(Show Context)
Citation Context ...easible areas. In this paper, we will just sketch the basics of integer linear programming, which are essential for the understanding of the presented ILP-approaches. For further information see e.g. =-=[NW88], [NK-=-T89], [PS82a] or [CWM94]. Integer linear programming (ILP) is the following optimization problem: min z IP = c T x (1) x 2 P F " ZZ n where P F = fx j Axsb; x 2 IR n + g; c 2 IR n ; b 2 IR m ; A ... |

621 |
Trace scheduling: A technique for global microcode compaction
- Fisher
- 1981
(Show Context)
Citation Context ...method. 4.2 List Scheduling List scheduling is a local scheduling method. It evolved out of a heuristic branch-and-bound algorithm [LDSM80] and is also used by global methods such as trace scheduling =-=[Fis81]-=-. In addition to a list of instructions in the basic block the data dependence graph is needed. While executing, list scheduling maintains a set called data ready, in which all instructions reside tha... |

286 | Bulldog: A compiler for VLIW architectures - Ellis - 1986 |

69 | Region scheduling: An approach for detecting and redistributing parallelism
- Gupta, Soffa
- 1990
(Show Context)
Citation Context ...ain memory. Over the years, several heuristic methods have been developed for the problem of instruction scheduling, e.g. list scheduling [LDSM80], percolation scheduling [Nic85] or region scheduling =-=[GS90]-=-, which use a graph-based representation of the program. While being very fast, these classical heuristic methods have the disadvantage of only being able to find approximative, suboptimal solutions w... |

60 |
Global optimization approach for architecture synthesis
- Gebotys, Elmasry
- 1993
(Show Context)
Citation Context ...one should attempt to find equality and inequality constraints such that P F will be integral. It has been shown, that for every bounded system of rational inequalities there is an integer polyhedron =-=[GE93]-=-, [PS82b]. Unfortunately for most problems it is not known how to formulate these additional inequalities---and there could be an exponential number of them [NKT89]. In general, P I $ P F , and the LP... |

47 | Analyzing and exploiting the structure of the constraints in the ILP approach to the scheduling problem
- Chaudhuri, Walker, et al.
- 1994
(Show Context)
Citation Context ...mal solution of an integer linear program is NP-hard; yet many large instances of such problems can be solved. This, however, requires the selection of a structured formulation and no ad-hoc approach =-=[CWM94]-=-. 11 x 1 x P I P F objectivefunction integerpoints Figure 3: feasible areas. In this paper, we will just sketch the basics of integer linear programming, which are essential for the understanding of t... |

33 |
Uniform parallelism exploitation in ordinary programs
- Nicolau
- 1985
(Show Context)
Citation Context ...alues have to be spilled to main memory. Over the years, several heuristic methods have been developed for the problem of instruction scheduling, e.g. list scheduling [LDSM80], percolation scheduling =-=[Nic85]-=- or region scheduling [GS90], which use a graph-based representation of the program. While being very fast, these classical heuristic methods have the disadvantage of only being able to find approxima... |

27 |
Using the CPLEX Callable Library
- Optimization, Inc
- 1995
(Show Context)
Citation Context ...oaches. First, the ILP of the formulation type specified by the user (SILP or OASIC) is generated. This ILP is solved by using CPLEX, a callable library to optimize linear and integer linear problems =-=[CPL95]-=-. Finally, the optimization result is interpreted and the optimized instruction sequence is written to the result file. This process can be visualized as depicted in figure 5. The input programs are t... |

7 |
Scheduling and Allocating with Integer Linear Programming
- SILP
- 1996
(Show Context)
Citation Context ...pproximative solution 4 can be estimated, even if no exact solution could be obtained due to the complexity of the problem. We have investigated two such ILP-formulations, OASIC [GE92, GE93] and SILP =-=[Zha96]-=-, developed in the area of architectural synthesis. The paper is organized as follows: In the second section we describe our target architecture, the digital signal processor ADSP-2106x. After a short... |

5 |
Ausgewählte Probleme der Produktionsplanung - Modellierung, Komplexität und neuere Lösungsmöglichkeiten
- BRÜGGEMANN
- 1995
(Show Context)
Citation Context ...88, NKT89]. Typical applications are concerned with the management and efficient use of scarce resources to increase productivity. These applications include production scheduling, machine sequencing =-=[Bru95]-=-, VLSI-design, portfolio analysis [DK96], as well as problems in molecular biology, high energy physics and x-ray crystallography. The calculation of an optimal solution of an integer linear program i... |

2 | Analog Devices. ADSP-21000 Family Assembler Tools and Simulator - Manual - 1995 |

2 | Code Generation Techniques for Irregular Architectures
- Bashford
- 1995
(Show Context)
Citation Context ...ing and register allocation plays an important role. To provide an insight into the underlying problem, the basics of code generation are sketched in this section, following the notions in [WM97] and =-=[Bas95]-=-. A compiler takes an input-program and, 3 performing syntactic and semantical analysis, transforms it into an intermediate representation. Subsequently, code generation is performed producing a seman... |

2 |
Elemente einer betriebswirtschaftlichen Entscheidungslehre
- Dinkelbach, Kleine
- 1996
(Show Context)
Citation Context ...erned with the management and efficient use of scarce resources to increase productivity. These applications include production scheduling, machine sequencing [Bru95], VLSI-design, portfolio analysis =-=[DK96]-=-, as well as problems in molecular biology, high energy physics and x-ray crystallography. The calculation of an optimal solution of an integer linear program is NP-hard; yet many large instances of s... |

2 |
Instruktionsanordnung und Registerallokation auf der Basis ganzzahliger linearer Programmierung fur den digitalen Signalprozessor ADSP-2106x. Master 's thesis, Universitat des Saarlandes
- Kastner
- 1997
(Show Context)
Citation Context ...h the integral polytope but by taking into account the additional facets, a better approximation to the integral polytope is gained. This is covered in detail in [GE92, GE93]; an overview is given in =-=[Kas97]-=-. In the following, the ILP-formulation given in [GE92, GE93] is presented in a slightly modified form. ffl objective function min M steps (19) ffl constraints 1. time constraints No instruction may e... |

2 |
Instruktionsanordnung unter Verwendung graphbasierter Algorithmen fur den digitalen Signalprozessor ADSP-2106x
- Langenbach
- 1997
(Show Context)
Citation Context ...the graph-based algorithms is significantly lower than the time needed to solve the ILP's: all graph-based algorithms take less than one second to execute. The exact calculation times can be found in =-=[Lan97]-=-; in this paper, they are omitted. Results of list scheduling with integrated register allocation are not presented here, either. We want to oppose the best possible results of the conventional algori... |

1 |
Theorie, Konstruktion, Generierung; zweite, uberarbeitete und erweiterte Auflage
- Ubersetzerbau
- 1997
(Show Context)
Citation Context ...ion scheduling and register allocation plays an important role. To provide an insight into the underlying problem, the basics of code generation are sketched in this section, following the notions in =-=[WM97]-=- and [Bas95]. A compiler takes an input-program and, 3 performing syntactic and semantical analysis, transforms it into an intermediate representation. Subsequently, code generation is performed produ... |