Due to the normalization, we use for these experiments the gain instead of the costs since the ILP-allocator can give for certain graphs a spill cost of zero. We also stop the ILP-allocator, for each graph, after half-an hour, if it does not return a solution ,
An optimal memory allocation scheme for scratch-pad-based embedded systems, 80 Bibliography [ABS02] Oren Avissar ,
The Jikes RVM project: Building an open source research community, IBM Systems Journal, vol.44, issue.2, p.399418, 2005. ,
Optimal spilling for CISC machines with few registers, PLDI'01, p.243253, 2001. ,
Register allocation by optimal graph coloring, Proceedings of the 12th international conference on Compiler construction, CC'03, p.3345, 2003. ,
Java annotation-aware justin-time (ajit) compilation system, Proc. ACM 1999 Conf. on Java Grande, p.142151, 1999. ,
DOI : 10.1145/304065.304115
Modern Compiler Implementation in Java, 2002. ,
A brief history of just-in-time, ACM Computing Surveys, vol.35, issue.2, p.97113, 2003. ,
DOI : 10.1145/857076.857077
Improvements to graph coloring register allocation, ACM Trans. Program. Lang. Syst, vol.16, issue.3, pp.428-455, 1994. ,
Adaptive software cache management for distributed shared memory architectures, Proceedings of the 17th Annual International Symposium on Computer Architecture, p.125134, 1990. ,
DOI : 10.1109/isca.1990.134515
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.2844
Revisiting out-of-SSA translation for correctness, code quality and eciency, CGO'09, p.114125, 2009. ,
Register allocation: What does the NP-completeness proof of Chaitin et al. really prove?, WDDD'06, 2006. ,
Register Allocation: What Does the NP-Completeness Proof of Chaitin et al. Really Prove? Or Revisiting Register Allocation: Why and How, LCPC'06, 2006. ,
DOI : 10.1007/978-3-540-72521-3_21
On the Complexity of Register Coalescing, International Symposium on Code Generation and Optimization (CGO'07), 2007. ,
DOI : 10.1109/CGO.2007.26
On the Complexity of Register Coalescing, International Symposium on Code Generation and Optimization (CGO'07), p.102114, 2007. ,
DOI : 10.1109/CGO.2007.26
On the complexity of spill everywhere under ssa form, LCTES'07, p.103112, 2007. ,
URL : https://hal.archives-ouvertes.fr/ensl-00180322
Advanced conservative and optimistic register coalescing, Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, CASES '08, p.147156, 2008. ,
DOI : 10.1145/1450095.1450119
Integrating register allocation and instruction scheduling for riscs, Bel66] L. A. Belady. A study of replacement algorithms for virtual storage computers . 9th Annual ACM-SIAM Symposium on Discrete Algorithms, p.122131, 1966. ,
Register Spilling and Live-Range Splitting for SSA-Form Programs, Compiler Construction, p.174189, 2009. ,
DOI : 10.1007/978-3-642-00722-4_13
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.219.5318
Precoloring extension. I. Interval graphs, Discrete Mathematics, vol.100, issue.1-3, p.1001, 1992. ,
DOI : 10.1016/0012-365X(92)90646-W
The dacapo benchmarks: java benchmarking development and analysis, OOPSLA'06, p.169190, 2006. ,
Compiler support for scalable and ecient memory systems, IEEE Trans. Comput, vol.50, p.12341247, 2001. ,
Scratchpad memory, Proceedings of the tenth international symposium on Hardware/software codesign , CODES '02, p.7378, 2002. ,
DOI : 10.1145/774789.774805
Register allocation via coloring, Computer languages, vol.6, p.4757, 1981. ,
Efficiently computing static single assignment form and the control dependence graph, ACM Transactions on Programming Languages and Systems, vol.13, issue.4, pp.451-490, 1991. ,
DOI : 10.1145/115372.115320
Register allocation & spilling via graph coloring, SIG- PLAN'82: Proceedings of the 1982 SIGPLAN symposium on Compiler construction, pp.98105-120, 1982. ,
Optimal parallel time bounds for the maximum clique problem on intervals, Information Processing Letters, vol.42, issue.4, 1992. ,
DOI : 10.1016/0020-0190(92)90239-R
Hybrid Optimizations: Which Optimization Algorithm to Use?, 2006. ,
DOI : 10.1007/11688839_12
Software caching and computation migration in olden, 1995. ,
Array regrouping and its use in compiling data-intensive embedded applications, IEEE Trans. Comput, vol.53, issue.1, p.119, 2004. ,
The Perfect Club Benchmarks: Effective Performance Evaluation of Supercomputers, International Journal of High Performance Computing Applications, vol.3, issue.3, p.540, 1988. ,
DOI : 10.1177/109434208900300302
Automatic storage optimization, ACM Symp. on Compiler Construction, p.8391, 1979. ,
On Local Register Allocation, Journal of Algorithms, vol.37, issue.1 ,
DOI : 10.1006/jagm.2000.1095
Iterated register coalescing, ACM Trans. Program. Lang. Syst, vol.18, issue.3, p.300324, 1996. ,
Java performance evaluation through rigorous replay compilation, ACM SIGPLAN Notices, vol.43, issue.10, pp.367-384, 2008. ,
DOI : 10.1145/1449955.1449794
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.158.7231
Java(TM) Language Specication, The, 2005. ,
Algorithmic Graph Theory and Perfect Graphs, Annals of Discrete Mathematics, vol.57, 2004. ,
Smalltalk-80: the language and its implementation, 1983. ,
Register Allocation for Programs in SSA-Form, CC'06, p.247262, 2006. ,
DOI : 10.1007/11688839_20
A fully associative software-managed cache design, Computer Architecture Proceedings of the 27th International Symposium on, pp.107-116, 2000. ,
DRDU, ACM Transactions on Design Automation of Electronic Systems, vol.12, issue.2 ,
DOI : 10.1145/1230800.1230807
Design and performance of a general-purpose software cache, 1999 IEEE International Performance, Computing and Communications Conference (Cat. No.99CH36305) ,
DOI : 10.1109/PCCC.1999.749456
Annotating java class les with virtual registers for performance. Concurrency Practice and Experience, p.389406, 2000. ,
DOI : 10.1002/1096-9128(200005)12:6<389::aid-cpe481>3.0.co;2-6
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.2938
Annotating mobile code for performance, p.3070343, 2002. ,
Array unication: A locality optimization technique ,
Data-centric multi-level blocking ,
DOI : 10.1145/258916.258946
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.5396
Using annotations to reduce dynamic optimization time, PLDI'01, p.156167, 2001. ,
DOI : 10.1145/381694.378831
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.6402
Introduction to the Cell multiprocessor, IBM Journal of Research and Development, vol.49, issue.45, 2005. ,
Dynamic management of scratch-pad memory space, DAC'01, p.690695, 2001. ,
Array SSA form and its use in parallelization, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '98 ,
DOI : 10.1145/268946.268956
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.8502
Split compilation: an application to just-in-time vectorization, GREPS'07, 2007. ,
Evaluation of Algorithms for Local Register Allocation, Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99, p.137152, 1999. ,
DOI : 10.1007/978-3-540-49051-7_10
Compiler-directed scratchpad memory management via graph coloring, ACM Transactions on Architecture and Code Optimization, vol.6, issue.3, p.1 ,
DOI : 10.1145/1582710.1582711
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.150.773
Memory coloring: A compiler approach for scratchpad memory management, PACT'05, p.329338, 2005. ,
Scratchpad allocation for data aggregates in superperfect graphs, SIGPLAN Not, vol.42, issue.7, p.207216, 2007. ,
Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphs, ACM Transactions on Embedded Computing Systems, vol.10, issue.2 ,
DOI : 10.1145/1880050.1880064
FlexCache: A Framework for Flexible Compiler Generated Data Caching, Revised Papers from the Second International Workshop on Intelligent Memory Systems , IMS '00, p.135146, 2001. ,
DOI : 10.1007/3-540-44570-6_9
M-CORE MMC2001 reference manual, Motorola Corporation, 1998. ,
Linear Scan Register Allocation in the Context of SSA Form and Register Constraints, Proceedings of the 11th International Conference on Compiler Construction, CC '02, p.229246, 2002. ,
DOI : 10.1007/3-540-45937-5_17
Proof-carrying code, PoPL'97, 1997. ,
An experimental study of several cooperative register allocation and instruction scheduling strategies, Proceedings of the 28th Annual International Symposium on Microarchitecture, p.169179, 1995. ,
DOI : 10.1109/MICRO.1995.476822
Probabilistic register allocation, Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, PLDI '92, p.300310, 1992. ,
Optimistic register coalescing, Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques, PACT '98, 1998. ,
DOI : 10.1145/1011508.1011512
Register Allocation Via Coloring of Chordal Graphs, Proceedings of APLASâ05, Asian Symposium on Programming Languages and Systems, p.315329, 2005. ,
DOI : 10.1007/11575467_21
Register allocation by puzzle solving, Proceedings of PLDI'08, ACM SIGPLAN Conference on Programming Language Design and Implementation, p.216226, 2008. ,
A framework for optimizing java using attributes, CC'01, p.334354, 2001. ,
DOI : 10.1145/1925805.1925819
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.7713
Linear scan register allocation, ACM Trans. Program. Lang. Syst, vol.21, issue.5, p.895913, 1999. ,
Region array SSA, Proceedings of the 15th international conference on Parallel architectures and compilation techniques , PACT '06, p.4352, 2006. ,
DOI : 10.1145/1152154.1152165
Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '88, p.1227, 1988. ,
DOI : 10.1145/73560.73562
Extended Linear Scan: An Alternate Foundation for Global Register Allocation, Lecture Notes in Computer Science, vol.4420, issue.07, p.141155, 2007. ,
DOI : 10.1007/978-3-540-71229-9_10
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.4590
Random interval graphs, Combinatorica, vol.8, pp.357371-357381, 1988. ,
Store economy in closed operator schemes, USSR Computational Mathematics and Mathematical Physics, vol.1, issue.3, pp.810-828, 1962. ,
DOI : 10.1016/0041-5553(63)90176-9
Selection of programme slots of television channels for giving advertisement: A graph theoretic approach, Information Sciences, vol.177, issue.12, p.24802492, 2007. ,
DOI : 10.1016/j.ins.2007.01.015
Storage allocation for embedded processors, Proceedings of the international conference on Compilers, architecture, and synthesis for embedded systems , CASES '01 ,
DOI : 10.1145/502217.502221
Assigning program and data objects to scratchpad for energy reduction, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition, p.409, 2002. ,
DOI : 10.1109/DATE.2002.998306
Early periodic register allocation on ilp processors. Parallel Processing Letters, 2004. ,
Early Periodic Register Allocation on ILP Processors. Parallel Processing Letters, World Scientic, vol.14, p.2, 2004. ,
Quality and speed in linear-scan register allocation, PLDI'98, p.142151, 1998. ,
Compiler-decided dynamic memory allocation for scratch-pad based embedded systems, Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems , CASES '03, p.276286, 2003. ,
DOI : 10.1145/951710.951747
URL : http://drum.lib.umd.edu/bitstream/1903/3789/1/umi-umd-3630.pdf
Dynamic allocation for scratch-pad memory using compile-time decisions, ACM Transactions on Embedded Computing Systems, vol.5, issue.2, p.472511, 2006. ,
DOI : 10.1145/1151074.1151085
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.9406
Dynamic overlay of scratchpad memory for energy minimization, Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis , CODES+ISSS '04, p.104109, 2004. ,
DOI : 10.1145/1016720.1016748
Kae: A free jit virtual machine to run java code, 1996. ,
Optimized interval splitting in a linear scan register allocator, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments , VEE '05, p.132141, 2005. ,
DOI : 10.1145/1064979.1064998
High Performance Compilers for Parallel Computing ,
The maximum k-colorable subgraph problem for chordal graphs, Information Processing Letters, vol.24, issue.2, p.133137, 1987. ,
DOI : 10.1016/0020-0190(87)90107-4