226 Hits in 4.1 sec

Register Allocation After Classical SSA Elimination is NP-Complete [chapter]

Fernando Magno Quintão Pereira, Jens Palsberg
2006 Lecture Notes in Computer Science  
In this paper we show that the answer is no, unless P = NP: register allocation after classical SSA elimination is NP-complete.  ...  Chaitin proved that register allocation is equivalent to graph coloring and hence NP-complete.  ...  Fernando Pereira is sponsored by the Brazilian Ministry of Education under grant number 218603-9. Jens Palsberg is supported by the National Science Foundation award number 0401691.  ... 
doi:10.1007/11690634_6 fatcat:n5mrpj27c5hqznvwkl7ehqujd4

On the Complexity of Register Coalescing

Florent Bouchez, Alain Darte, Fabrice Rastello
2007 International Symposium on Code Generation and Optimization (CGO'07)  
With this goal in mind, new register allocation schemes are developed, which revisit not only the spilling problem but also the coalescing problem.  ...  We almost completely classify the NP-completeness of these problems, discussing also on the structure of the interference graph: arbitrary, chordal, or k-colorable in a greedy fashion.  ...  Our experiments with classical out-of-SSA approaches revealed many bad situations where a too aggressive coalescing can increase the number of spills in the subsequent register allocation phase.  ... 
doi:10.1109/cgo.2007.26 dblp:conf/cgo/BouchezDR07 fatcat:zrw743i4lrep3pvgxxjiojohdi

Preference-Guided Register Assignment [chapter]

Matthias Braun, Christoph Mallon, Sebastian Hack
2010 Lecture Notes in Computer Science  
This paper deals with coalescing in SSA-based register allocation. Current coalescing techniques all require the interference graph to be built.  ...  This is generally considered to be too compile-time intensive for just-in-time compilation.  ...  In this setting, optimal allocation even inside a basic block is NP-complete. Therefore, they split live ranges after every program point and allocate each instruction separately.  ... 
doi:10.1007/978-3-642-11970-5_12 fatcat:pcta374gang3xeigb4qsjqckpy

An Optimal Linear-Time Algorithm for Interprocedural Register Allocation in High Level Synthesis Using SSA Form

Philip Brisk, Ajay K. Verma, Paolo Ienne
2010 IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems  
Historically, register allocation has been modeled as a graph coloring problem, which is nondeterministic polynomial time-complete in general; however, converting each procedure to static single assignment  ...  An optimal linear-time algorithm for interprocedural register allocation in high level synthesis is presented.  ...  To present, we are unaware of any problems in register allocation that are NP-complete for SSA form and chordal graphs, but become polynomial for SSI form and interval graphs; our interest, here, is purely  ... 
doi:10.1109/tcad.2010.2049060 fatcat:t3r5utd2ofcyxlg3n6fqp3m2hq

Code Instruction Selection Based on SSA-Graphs [chapter]

Erik Eckstein, Oliver König, Bernhard Scholz
2003 Lecture Notes in Computer Science  
Our experiments show that our approach achieves significant better results compared to classical tree matching.  ...  Instruction selection for embedded processors is a challenging problem. Embedded system architectures feature highly irregular instruction sets and complex data paths.  ...  DAG matching is a NP-complete problem. A proof for NP completeness of matching DAGs is given by [11] .  ... 
doi:10.1007/978-3-540-39920-9_5 fatcat:75wv52iqojh2bkqquw26n5v7yi

Optimal Register Allocation in Polynomial Time [chapter]

Philipp Klaus Krause
2013 Lecture Notes in Computer Science  
The register allocator is not restricted to programs in SSA form or chordal interference graphs.  ...  A graph-coloring register allocator that optimally allocates registers for structured programs in polynomial time is presented. It can handle register aliasing.  ...  Future research could go towards improving the runtime further, completing the prototype and creating a massive parallel implementation.  ... 
doi:10.1007/978-3-642-37051-9_1 fatcat:56uuf76ys5dqtoepojz7lo4rxa

Revisiting Out-of-SSA Translation for Correctness, Code Quality and Efficiency

Benoit Boissinot, Alain Darte, Fabrice Rastello, Benoit Dupont de Dinechin, Christophe Guillon
2009 2009 International Symposium on Code Generation and Optimization  
Static single assignment (SSA) form is an intermediate program representation in which many code optimizations can be performed with fast and easy-to-implement algorithms.  ...  There are three issues to consider: correctness, code quality (elimination of copies), and algorithm efficiency (speed and memory footprint).  ...  A pinned variable is a SSA variable pre-coalesced to another variable or pre-allocated to an architectural register [19] .  ... 
doi:10.1109/cgo.2009.19 dblp:conf/cgo/BoissinotDRDG09 fatcat:7oyjan5im5fu5nunysr632epwq

Experimental evaluation and improvements to linear scan register allocation

Konstantinos Sagonas, Erik Stenman
2003 Software, Practice & Experience  
In a nutshell, our experience is that a well-tuned linear scan register allocator is a good choice on register-rich architectures.  ...  (Note that it is typical for a global register allocator to be a compiler bottleneck.)  ...  We thank Mikael Pettersson and the anonymous reviewers for comments on the article, Thorild Selén, Andreas Wallin, and IngemarÅberg for the initial implementation of the coalescing allocator.  ... 
doi:10.1002/spe.533 fatcat:pt35zffsdvehvccfmon2cnyuoe

Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms [chapter]

Keith D. Cooper, Anshuman Dasgupta, Jason Eckhardt
2006 Lecture Notes in Computer Science  
We evaluate the impact of this strategy on allocated code. Copy elimination: Effective register-to-register copy removal is important for producing good code.  ...  This paper examines a particular variant -the Callahan Koblenz allocator -and compares it to the Chaitin-Briggs graph coloring register allocator.  ...  This phase is critical in producing a speedy program. However, it is prohibitively expensive to optimally conduct global register allocation since the problem is NP-complete [18] .  ... 
doi:10.1007/978-3-540-69330-7_1 fatcat:sdr23p745ng7xbbo7aywkcme2i

Accelerating XOR-based Erasure Coding using Program Optimization Techniques [article]

Yuya Uezato
2021 arXiv   pre-print
XOR-based EC is an easy-to-implement method for optimizing EC.  ...  Our optimization flow is three-fold: 1) reducing operations using grammar compression algorithms; 2) reducing memory accesses using deforestation, a functional program optimization method; and 3) reducing  ...  In [80] , Papp and Wattenhofer used the classic NP-complete problem Hamiltonian path problem [39, 58] and succeeded in providing a simple NP-completeness proof.  ... 
arXiv:2108.02692v1 fatcat:tyolry4355gt5pqhbferp6pnuu

Split Register Allocation: Linear Complexity Without the Performance Penalty [chapter]

Boubacar Diouf, Albert Cohen, Fabrice Rastello, John Cavazos
2010 Lecture Notes in Computer Science  
We propose a split register allocator meeting these challenges.  ...  We study the robustness of this algorithm to variations in the number of physical registers. Our method is implemented in JikesRVM and evaluated on standard benchmarks.  ...  It is not NP-complete with sufficient live-range splitting: linear complexity can be achieved on SSA form following a perfect elimination order -a greedy reverse post-order traversal of the SSA graph  ... 
doi:10.1007/978-3-642-11515-8_7 fatcat:2fm7ienpgjfe5p4onuw4zlvy74

Design and implementation of a framework for creating portable and efficient packet-processing applications

Olivier Morandi, Fulvio Risso, Silvio Valenti, Paolo Veglia
2008 Proceedings of the 7th ACM international conference on Embedded software - EMSOFT '08  
It is a common belief that using a virtual machine for portable executions of data-plane packet-processing applications would introduce too many penalties in terms of performance, because of the assumed  ...  with a general purpose processor (Intel x86), one with a multi-core network processor (Cavium Octeon) and one with a systolic-array network processor (Xelerated X11), and shows that the NetVM model (i) is  ...  The second step is the register allocation, whose task is to assign a machine register or a memory location to a live range of the program.  ... 
doi:10.1145/1450058.1450091 dblp:conf/emsoft/MorandiRVV08 fatcat:jleeuytcufafvllqfdkqbu7qfy

Average case vs. worst case

Christian W. Probst, Andreas Gal, Michael Franz
2005 Proceedings of the 2005 workshop on New security paradigms - NSPW '05  
The problem, however, is not restricted to mobile-code verification: for example, an attacker could exploit knowledge about a just-in-time compiler's register allocator by sending it a particularly difficult  ...  Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon.  ...  The classic register-allocating algorithm is structured after Chaitin's graph coloring allocator [6, 5] .  ... 
doi:10.1145/1146269.1146279 dblp:conf/nspw/ProbstGF05 fatcat:g2xw6epbkrcoxf4mnfads4267y

Optimization for Reconfigurable Systems Using Hierarchical Abstraction [chapter]

Elaheh Bozorgzadeh, Adam Kaplan, Ryan Kastner, Seda Ogrenci Memik, Majid Sarrafzadeh
2003 Combinatorial Optimization  
Proposed Scheduling Algorithm The general resource-constrained scheduled problem is known to be NP-Complete Garey and Johnson, 1999] .  ...  Based on theoretical analysis on the hardness of these problems, we identify NP-Complete problems and optimally solvable problems.  ... 
doi:10.1007/978-1-4757-3748-6_6 fatcat:sdmn6fn5rvbohar4jzdendy6la

Acyclic orientation graph coloring for software-managed memory allocation

Li Wang, JingLing Xue, XueJun Yang
2014 Science China Information Sciences  
Our algorithm generalizes and subsumes as a special case the classical graph coloring register allocation algorithm without notably increased complexity: it deals with memory allocation while preserving  ...  the elegance and practicality of traditional graph coloring register allocation.  ...  The problem of finding optimal colorings is NP-complete.  ... 
doi:10.1007/s11432-014-5131-7 fatcat:ukvx3nd2cnhm3imk2cfegwjpve
« Previous Showing results 1 — 15 out of 226 results