Compilers use software-controlled local memories to provide fast, predictable, and power-efficient access to critical data. We show that the local memory allocation for straight-line, or linearized programs is equivalent to a weighted interval-graph coloring problem. This problem is new when allowing a color interval to "wrap around," and we call it the submarine-building problem. This graph-theoretical decision problem differs slightly from the classical ship-building problem, and exhibits very interesting and unusual complexity properties. We demonstrate that the submarine-building problem is NP-complete, while it is solvable in linear time for not-so-proper interval graphs, an extension of the the class of proper interval graphs. We prop...
The time spent on register allocation must be reasonable compared to other global optimizations in a...
All graph-coloring register allocators rely on heuristics to arrive at a "good" answer to the NP-com...
We study the problem of local register allocation (LRA): assign pseudo-registers to actual registers...
Selected for presentation at the HiPEAC 2013 Conf.International audienceCompilers use software-contr...
Despite the benefit of the memory hierarchy, it is still essential, in order to reduce accesses to h...
Software-controlled local memories (LMs) are widely used to provide fast, scalable, power efficient ...
This paper presents a novel compiler algorithm, called acyclic orientation graph coloring (AOG color...
International audienceSoftware-controlled local memories (LMs) are widely used to provide fast, scal...
We present a graph coloring register allocator de-signed to minimize the number of dynamic memory re...
Interval allocation has been suggested as a possible formalization for the PRAM of the (vaguely defi...
Scratch-pad memory (SPM), a fast on-chip SRAM managed by software, is widely used in embedded system...
In memory hierarchies, programs can be speeded up by increasing their degree of locality. This paper...
We propose the use of cyclic interval graphs as an alternative representation for register allocatio...
Existing methods place data or code in scratchpad memory, i.e., SPM by either relying on heuristics ...
AbstractThis paper describes a memory management discipline for programs that perform dynamic memory...
The time spent on register allocation must be reasonable compared to other global optimizations in a...
All graph-coloring register allocators rely on heuristics to arrive at a "good" answer to the NP-com...
We study the problem of local register allocation (LRA): assign pseudo-registers to actual registers...
Selected for presentation at the HiPEAC 2013 Conf.International audienceCompilers use software-contr...
Despite the benefit of the memory hierarchy, it is still essential, in order to reduce accesses to h...
Software-controlled local memories (LMs) are widely used to provide fast, scalable, power efficient ...
This paper presents a novel compiler algorithm, called acyclic orientation graph coloring (AOG color...
International audienceSoftware-controlled local memories (LMs) are widely used to provide fast, scal...
We present a graph coloring register allocator de-signed to minimize the number of dynamic memory re...
Interval allocation has been suggested as a possible formalization for the PRAM of the (vaguely defi...
Scratch-pad memory (SPM), a fast on-chip SRAM managed by software, is widely used in embedded system...
In memory hierarchies, programs can be speeded up by increasing their degree of locality. This paper...
We propose the use of cyclic interval graphs as an alternative representation for register allocatio...
Existing methods place data or code in scratchpad memory, i.e., SPM by either relying on heuristics ...
AbstractThis paper describes a memory management discipline for programs that perform dynamic memory...
The time spent on register allocation must be reasonable compared to other global optimizations in a...
All graph-coloring register allocators rely on heuristics to arrive at a "good" answer to the NP-com...
We study the problem of local register allocation (LRA): assign pseudo-registers to actual registers...