<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<item>
  <id>05384013</id>
  <dt>j</dt>
  <an>05384013</an>
  <augroup>
    <au>Sawaya, Antoine</au>
  </augroup>
  <ti>Optimal code under resource and register constraints. (Code optimal sous constraintes de ressources et de registres.)</ti>
  <so>RAIRO, Tech. Sci. Inf. 16, No. 5, 637-653 (1997).</so>
  <py>1997</py>
  <pu>\'Editions HERMES, Paris</pu>
  <lagroup>
    <la>EN</la>
  </lagroup>
  <ccgroup>
    <cc>F.1.2</cc>
    <cc>F.2.2</cc>
    <cc>C.1.2</cc>
  </ccgroup>
  <utgroup>
    <ut>instruction level parallelism</ut>
    <ut>software pipelining</ut>
    <ut>scheduling</ut>
    <ut>register allocation</ut>
    <ut>linear programming</ut>
    <ut>code generation</ut>
  </utgroup>
  <cigroup>
  </cigroup>
  <ligroup>
  </ligroup>
  <abgroup>
    <ab>Summary: This report deals with the interaction between instruction scheduling and register allocation, in the case of straight line code and in the case of loops. This problem is at the heart of code optimization in microprocessors with instruction-level parallelism. Usual solutions use heuristics based on a decoupled approach. We propose here a formulation by linear integer programming that allows dependence, resource and register constraints to be integrated in the same framework. By varying the parameters, we can maximize the throughput for a given number of registers or minimize the number of registers for a given initiation interval. We show the results of our tests on a set of classical benchmark loops. (Provider: Leibiger)</ab>
    <rv></rv>
  </abgroup>
</item>