Access the full text.
Sign up today, get DeepDyve free for 14 days.
M. Lam (1998)
RETROSPECTIVE : Software Pipelining : An Effective Scheduling Technique for VLIW Machines
D. Werra, C. Eisenbeis, Sylvain Lelait, Bruno Marmol (1999)
On a Graph-theoretical Model for Cyclic Register AllocationDiscret. Appl. Math., 93
A. Nicolau, R. Potasman, Haigeng Wang (1991)
Register Allocation, Renaming and Their Impact on Fine-Grain Parallelism
A. Schrijver (1986)
Theory of linear and integer programming
B. Rau, M. Schlansker, P. Tirumalai (1992)
Code Generation Schema For Modulo Scheduled Loops[1992] Proceedings the 25th Annual International Symposium on Microarchitecture MICRO 25
K. Deschinkel, S. Touati (2008)
Efficient Method for Periodic Task Scheduling with Storage Requirement Minimization
Preston Briggs, K. Cooper, Linda Torczon (1994)
Improvements to graph coloring register allocationACM Trans. Program. Lang. Syst., 16
R. Ahuja, T. Magnanti, J. Orlin (1993)
Network Flows: Theory, Algorithms, and Applications
C. Guillon, F. Rastello, Thierry Bidault, Florent Bouchez (2004)
Procedure placement using temporal-ordering information: dealing with code size expansionJ. Embed. Comput., 1
S. Touati, C. Eisenbeis (2017)
Parallel Processing Letters f c World Scientific Publishing Company Early Periodic Register Allocation on ILP Processors
Santosh Nagarakatte, R. Govindarajan (2007)
Register Allocation and Optimal Spill Code Scheduling in Software Pipelined Loops Using 0-1 Integer Linear Programming Formulation
S. Touati (2007)
On Periodic Register Need in Software PipeliningIEEE Transactions on Computers, 56
B. Rau (1994)
Iterative modulo scheduling: an algorithm for software pipelining loops
S. Touati, Denis Barthou (2006)
On the decidability of phase ordering problem in optimizing compilation
(2011)
Efficient spilling reduction for software pipelined loops in presence of multiple register types in embedded VLIW processors
G. Chaitin (2004)
Register allocation and spilling via graph coloring
A. Eichenberger, E. Davidson (1997)
Efficient formulation for optimal modulo schedulers
J. Fisher, P. Faraboschi, C. Young (2004)
Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
J. Ruttenberg, G. Gao, Woody Lichtenstein, Arthur Stoutchinin (1996)
Software pipelining showdown: optimal vs. heuristic methods in a production compiler
C. Eisenbeis, Sylvain Lelait, Bruno Marmol (1995)
The meeting graph: a new model for loop cyclic register allocation
ChaitinGregory (2004)
Register allocation and spilling via graph coloringSigplan Notices
P. Faraboschi, Geoffrey Brown, J. Fisher, G. Desoli, F. Homewood (2000)
Lx: a technology platform for customizable VLIW embedded processingProceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201)
Sébastien Briais, S. Touati (2009)
Schedule-Sensitive Register Pressure Reduction in Innermost Loops, Basic Blocks and Super-Blocks
R. Jain (1991)
The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling
Jian Wang, C. Eisenbeis, M. Jourdan, B. Su (1994)
Decomposed software pipelining: A new perspective and a new approachInternational Journal of Parallel Programming, 22
B. Rau, Meng Lee, P. Tirumalai, M. Schlansker (1992)
Register allocation for software pipelined loops
L. Hendren, G. Gao, E. Altman, Chandrika Mukerji (1992)
A Register Allocation Framework Based on Hierarchical Cyclic Interval Graphs
B. Dinechin (1996)
Parametric Computation of Margins and of Minimum Cumulative Register Lifetime Dates
A. Gilles (1992)
The Art of Computer Systems Performance Analysis (Techniques for Experimental Design, Measurement, Simulation, and Modeling)The Computer Journal, 35
Ef cient Spilling Reduction for Software Pipelined Loops in Presence of Multiple Register Types in Embedded VLIW Processors SID-AHMED-ALI TOUATI, University of Versailles Saint-Quentin-en-Yvelines FREDERIC BRAULT, INRIA-Saclay KARINE DESCHINKEL, University of Versailles Saint-Quentin-en-Yvelines BENOËT DUPONT DE DINECHIN, STMicroelectronics I Integrating register allocation and software pipelining of loops is an active research area. We focus on techniques that precondition the dependence graph before software pipelining in order to ensure that no register spill instructions are inserted by the register allocator in the software pipelined loop. If spilling is not necessary for the input code, preconditioning techniques insert dependence arcs so that the maximum register pressure MAXLIVE achieved by any loop schedule is below the number of available registers, without hurting the initiation interval if possible. When a solution exists, a spill-free software pipeline is guaranteed to exist. Existing preconditioning techniques consider one register type (register class) at a time [Deschinkel and Touati 2008]. In this article, we extend preconditioning techniques so that multiple register types are considered simultaneously. First, we generalize the existing theory of register pressure minimization for cyclic scheduling. Second, we implement our method inside the production compiler of the ST2xx VLIW family, and we demonstrate its
ACM Transactions on Embedded Computing Systems (TECS) – Association for Computing Machinery
Published: Nov 1, 2011
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.