Loading...
Please wait, while we are loading the content...
Similar Documents
Compiler Optimizations for StorageAssignment on Embedded DSPs
| Content Provider | Semantic Scholar |
|---|---|
| Author | Vemuri, Ranga |
| Copyright Year | 1998 |
| Abstract | DSP architectures typically provide dedicated memory address generation units and indirect addressing modes with auto-increment and auto-decrement that subsume address arithmetic. The heavy use of auto-increment and auto-decrement indirect addressing require DSP compilers to perform a careful placement of variables in storage to minimize address arithmetic instructions thereby improving DSP code quality. Liao et al. [16] have formulated the problem of storage assignment as the simple o set assignment problem (SOA) and the general o set assignment problem (GOA). The storage allocation of variables critically depends on the sequence of variable accesses. In this thesis we present techniques to optimize the access sequence of variables by applying algebraic transformations (commutativity and associativity) on expression trees to obtain the least cost o set assignment. We formulate this problem as the least cost access sequence problem (LCAS). Based on the proposed framework, we develop heuristic algorithms that determine empirically near-optimal solutions resulting in fewer address arithmetic instructions. We have implemented the proposed heuristic algorithms by extending the storage assignment optimization in the SPAM compiler back-end targeted for the TMS320C25 DSP. In the case of SOA, experimental results with programs from the DSPstone benchmark suite show an average improvement of 3.36% in static code size and considerable improvements in dynamic instruction cycle counts over [16] . The average code size reduction over code compiled with a naive storage assignment algorithm is 7.04%. The proposed framework has also been applied to the GOA problem and shows average code size reductions of 2.04% over [16], and 10.84% over a naive GOA algorithm for the benchmark programs. Keywords|compiler optimizations, storage assignment, algebraic transformations. To my parents and my sister Acknowledgements I wish to extend my thanks to my advisor Dr. Santosh Pande for providing me an opportunity to work under his guidance, and for his involvement, insights and valuable advice throughout the course of my research. I would like to acknowledge the comments and suggestions that I received from members of my thesis committee: Dr. Ranga Vemuri and Dr. Harold Carter. I would like to express my sincere gratitude to the SPAM research group and the SUIF research group for making available excellent compilation infrastructures. Special thanks are due to Ashok Sudarsanam and Chris Wilson for providing extremely good technical support through prompt e-mails. I would also like to thank my colleagues in the Compiler Research Laboratory and Computer Architecture Design Laboratory for creating a pleasant and enjoyable work environment. I would like to thank my room-mates and friends in U.C. for making graduate student life a remarkable and rewarding experience. A word of thanks goes to faculty and sta of the ECECS department for the help and support I have received during my stay at U.C. I dedicate this thesis to my parents and my sister for their love and support all these years. This research was supported in part by NSF through grant CCR-9696129 and by DARPA through grant ARMY-DABT63-97-C-0029. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.ececs.uc.edu/~compiler/thesis/amit.ps |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |