Abstract
DSP architectures typically provide indirect addressing modes with autoincrement and decrement. In addition, indexing mode is generally 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 autoincrement and decrement modes improves the size of the generated code. In this article 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, even for a single basic block. We then generalize the problem to multiple address registers. For both cases heuristic algorithms are given, and experimental results are presented.
Author supplied keywords
Cite
CITATION STYLE
Liao, S., Devadas, S., Keutzer, K., Tjiang, S., & Wang, A. (1996). Storage Assignment to Decrease Code Size. ACM Transactions on Programming Languages and Systems, 18(3), 235–253. https://doi.org/10.1145/229542.229543
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.