Storage assignment to decrease code size

  • Authors:
  • Stan Liao;Srinivas Devadas;Kurt Keutzer;Steve Tjiang;Albert Wang

  • Affiliations:
  • MIT Department of EECS, Cambridge, MA;MIT Department of EECS, Cambridge, MA;Synopsys, Inc., Mountain View, CA;Synopsys, Inc., Mountain View, CA;Synopsys, Inc., Mountain View, CA

  • Venue:
  • PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

DSP architectures typically provide indirect addressing modes with auto-increment and decrement. In addition, indexing mode is not available, and there are usually few, if any, general-purpose registers. Hence, it is necessary to use address registers and perform address arithmetic to access automatic variables. Subsuming the address arithmetic into auto-increment and auto-decrement modes improves the size of the generated code.In this paper we present a formulation of the problem of optimal storage assignment such that explicit instructions for address arithmetic are minimized. We prove that for the case of a single address register the decision problem is NP-complete. We then generalize the problem to multiple address registers. For both cases heuristic algorithms are given. Our experimental results indicate an improvement of 3.