Software-controlled local memories (LMs) are widely used to provide fast, scalable, power efficient and predictable access to critical data. While many studies addressed LM management, keeping hot data in the LM continues to cause major headache. This paper revisits LM management of arrays in light of recent progresses in register allocation, supporting multiple live-range splitting schemes through a generic integer linear program. These schemes differ in the grain of decision points. The model can also be extended to address fragmentation, assigning live ranges to precise offsets. We show that the links between LM management and register allocation have been underexploited, leaving much fundamental questions open and effective applications...
It is important for compilers to generate executable code that is as small as possible, particularly...
Abstract—Limited Local Memory (LLM) architectures are power-efficient, scalable memory multi-core ar...
International audienceIn today's embedded systems, memory hierarchy is rapidly becoming a major fact...
International audienceSoftware-controlled local memories (LMs) are widely used to provide fast, scal...
In compilation, register allocation is the optimization that chooses which vari-ables of the source ...
Compilers use software-controlled local memories to provide fast, predictable, and power-efficient a...
Despite the benefit of the memory hierarchy, it is still essential, in order to reduce accesses to h...
We study the problem of local register allocation (LRA): assign pseudo-registers to actual registers...
Register allocation is an essential optimization for all compilers. A number of sophisticated regist...
Abstract. Commonly-used memory units enable a processor to load and store multiple registers in one ...
International audienceRegister allocation in loops is generally performed after or during the softwa...
We present an adaptation to the LLVM greedy register allocator to improve code density for compresse...
Abstract. Local register allocation (LRA) assigns pseudo-registers to actual registers in a basic bl...
International audienceJust-in-time compilers are becoming ubiquitous, spurring the design of more ef...
Limited Local Memory (LLM) architectures are popular scalable memory multi-core architectures in whi...
It is important for compilers to generate executable code that is as small as possible, particularly...
Abstract—Limited Local Memory (LLM) architectures are power-efficient, scalable memory multi-core ar...
International audienceIn today's embedded systems, memory hierarchy is rapidly becoming a major fact...
International audienceSoftware-controlled local memories (LMs) are widely used to provide fast, scal...
In compilation, register allocation is the optimization that chooses which vari-ables of the source ...
Compilers use software-controlled local memories to provide fast, predictable, and power-efficient a...
Despite the benefit of the memory hierarchy, it is still essential, in order to reduce accesses to h...
We study the problem of local register allocation (LRA): assign pseudo-registers to actual registers...
Register allocation is an essential optimization for all compilers. A number of sophisticated regist...
Abstract. Commonly-used memory units enable a processor to load and store multiple registers in one ...
International audienceRegister allocation in loops is generally performed after or during the softwa...
We present an adaptation to the LLVM greedy register allocator to improve code density for compresse...
Abstract. Local register allocation (LRA) assigns pseudo-registers to actual registers in a basic bl...
International audienceJust-in-time compilers are becoming ubiquitous, spurring the design of more ef...
Limited Local Memory (LLM) architectures are popular scalable memory multi-core architectures in whi...
It is important for compilers to generate executable code that is as small as possible, particularly...
Abstract—Limited Local Memory (LLM) architectures are power-efficient, scalable memory multi-core ar...
International audienceIn today's embedded systems, memory hierarchy is rapidly becoming a major fact...