Abstract
Propan is a system that allows for the generation of machine-dependent postpass optimisations and analyses on assembly level. It has been especially designed to perform high-quality optimisations for irregular architectures. All information about the target architecture is specified in the machine description language Tdl. For each target architecture a phase-coupled code optimiser is generated which can perform integrated global instruction scheduling, register reassignment, and resource allocation by integer linear programming (ILP). All relevant hardware characteristics of the target processor are precisely incorporated in the generated integer linear programs. Two different ILP models are available so that the most appropriate modelling can be selected individually for each target architecture. The integer linear programs can be solved either exactly or by the use of ILP-based approximations. This allows for high quality solutions to be calculated in acceptable time. A set of practical experiments shows the feasibility of this approach.
Member of the Graduiertenkolleg “Effizienz und Komplexität von Algorithmen und Rechenanlagen” (supported by the DFG).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Analog Devices. ADSP-2106x SHARC User’s Manual, 1995.
Siamak Arya. An Optimal Instruction Scheduling Model for a Class of Vector Processors. IEEE Transactions on Computers, 1985.
S. Bashford and R. Leupers. Phase-Coupled Mapping of Data Flow Graphs to Irregular Data Paths. DAES, pages 1–50, 1999.
F. Bodin, Z. Chamski, E. Rohou, and A. Seznec. Functional Specification of SALTO: A Retargetable System for Assembly Language Transformation and Optimization. rev. 1.00 beta. INRIA, 1997.
E. Farquhar and E. Hadad. TriCore Architecture Manual. Siemens AG, 1997.
A. Fauth, J. Van Praet, and M. Freericks. Describing Instruction Set Processors Using nML. In Proceedings of the EDAC, pages 503–507. IEEE, 1995.
C. Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD thesis, Saarland University, 1997.
C. Ferdinand, D. Kästner, M. Langenbach, F. Martin, M. Schmidt, J. Schneider, J. Theiling, S. Thesing, and R. Wilhelm. Run-Time Guarantees for Real-Time Systems-The USES Approach. Proceedings of the ATPS, 1999.
J.A. Fisher. Trace Scheduling: A Technique for Global Microcode Compaction. IEEE Transactions on Computers, pages 478–490, 1981.
C.H. Gebotys and M.I. Elmasry. Global Optimization Approach for Architectural Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pages 1266–1278, 1993.
R. Govindarajan, Erik R. Altman, and Guang R. Gao. A Framework for Resource Constrained Rate Optimal Software Pipelining. IEEE Transactions on Parallel and Distributed Systems, (11), 1996.
G. Hadjiyiannis. ISDL: Instruction Set Description Language Version 1.0. Technical report, MIT RLE, 1998.
A. Halambi, P. Grun, V. Ganesh, Khare A., N. Dutt, and A. Nicolau. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. DATE, 1999.
Silvina Hanono and Srinivas Devadas. Instruction Scheduling, Resource Allocation, and Scheduling in the AVIV Retargetable Code Generator. In Proceedings of the DAC. ACM, 1998.
ILOG S.A. ILOG CPLEX 6.5 User’s Manual, 1999.
D. Kästner. TDL: A Hardware and Assembly Description Language. Technical Report TDL1.4, TFB 14, Saarland University, 2000.
D. Kästner and M. Langenbach. Integer Linear Programming vs. Graph-Based Methods in Code Generation. Technical report, Saarland University, 1998.
D. Kästner and M. Langenbach. Code Optimization by Integer Linear Programming. In Proceedings of the CC, pages 122–136, 1999.
D. Kästner and S. Thesing. Cache Sensitive Pre-Runtime Scheduling. In Proceedings of the LCTES Workshop, 1998.
Daniel Kästner. Retargetable Code Optimization by Integer Linear Programming. PhD thesis, Saarland University, 2000. To appear.
Kästner, D. and Wilhelm, R. Operations research methods in compiler backends. Mathematical Communications, 1999.
M. Langenbach. CRL — A Uniform Representation for Control Flow. Technical Report CRL1, TFB 14, Saarland University, November 1998.
Rainer Leupers. Retargetable Code Generation for Digital Signal Processors. Kluwer Academic Publishers, 1997.
R. Lipsett, C. Schaefer, and C. Ussery. VHDL: Hardware Description and Design. Kluwer Academic Publishers, 12. edition, 1993.
Peter Marwedel and Gert Goossens. Code Generation for Embedded Processors. Kluwer, 1995.
S. Novack and A. Nicolau. Mutation scheduling: A Unified Approach to Compiling for fine-grain Parallelism. In Languages and Compilers for Parallel Computing, pages 16–30. Springer LNCS, 1994.
L. Nowak. Graph Based Retargetable Microcode Compilation in the MIMOLA Design System. 20th Annual Workshop on Microprogramming, pages 126–132, 1987.
S. Pees, A. Hoffmann, V. Zivojnovic, and H. Meyr. LISA: Machine Description Language for Cycle-Accurate Models of Programmable DSP Architectures. Proceedings of the DAC, 1999.
Philips Electronics North America Corporation. TriMedia TM1000 Preliminary Data Book, 1997.
John Ruttenberg, G.R. Gao, A. Stoutchinin, and W. Lichtenstein. Software Pipelining Showdown: Optimal vs. Heuristic Methods in a Production Compiler. Proceedings of the PLDI, pages 1–11, 1996.
M.A.R. Saghir, P. Chow, and C.G. Lee. Exploiting Dual Data-Memory Banks in Digital Signal Processors. Proceedings of the ASPLOS, 1996.
Ashok Sudarsanam. Code Optimization Libraries For Retargetable Compilation For Embedded Digital Signal Processors. PhD thesis, University of Princeton, 1998.
Texas Instruments. TMS320C62xx Programmer’s Guide, 1997.
Reinhard Wilhelm and Dieter Maurer. Compiler Design. Addison-Wesley, 1995.
H.P. Williams. Model Building in Mathematical Programming. John Wiley and Sons, 1993.
L. Zhang. SILP. Scheduling and Allocating with Integer Linear Programming. PhD thesis, Saarland University, 1996.
V. Zivojnovic, J. M. Velarde, C. Schläger, and H. Meyr. DSPSTONE: A DSP-Oriented Benchmarking Methodology. In Proceedings of the International Conference on Integrated Systems for Signal Processing, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kästner, D. (2001). PROPAN: A Retargetable System for Postpass Optimisations and Analyses. In: Davidson, J., Min, S.L. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 2000. Lecture Notes in Computer Science, vol 1985. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45245-1_5
Download citation
DOI: https://doi.org/10.1007/3-540-45245-1_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41781-1
Online ISBN: 978-3-540-45245-4
eBook Packages: Springer Book Archive