Memory size is an important economic factor in the development of embedded systems. It is therefore desirable to find compiler optimization techniques that reduce the size of the generated code. One such code compression technique is procedural abstraction, where repeated occurrences of equivalent code fragments are factored out into new subroutines. Previously, procedural abstraction has been applied at the machine code level in optimizing linkers or binary rewriting tools. We investigate the prospects of applying procedural abstraction at the intermediate code level of a whole-program optimizing C compiler. Placing the optimization before register allocation makes it target independent, and will allow us to take full advantage of powerful...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
Abstract. Application performance is heavily dependent on the com-piler optimizations. Modern compil...
Pre-execution is a promising latency tolerance technique that uses one or more helper threads runnin...
Memory size is an important economic factor in the development of embedded systems. It is therefore ...
In this paper we examine parameterized procedural abstraction. This is an extension of an optimizati...
: This tutorial considers the design of modern machine-independent optimising compilers for classica...
Programmers spent most of their time in speeding up a program. Sometimes, speeding up a program lead...
This article investigates several source-to-source C compilers for extracting pre-execution thread c...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Using only the internal program and data memory of a microcontroller can save large costs in embedde...
This paper describes transformation techniques for out-of-core pro-grams (i.e., those that deal with...
In a large class of embedded systems, dynamic multitasking using traditional OS techniques is infeas...
The performance of the memory hierarchy has become one of the most critical elements in the performa...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
Abstract. Application performance is heavily dependent on the com-piler optimizations. Modern compil...
Pre-execution is a promising latency tolerance technique that uses one or more helper threads runnin...
Memory size is an important economic factor in the development of embedded systems. It is therefore ...
In this paper we examine parameterized procedural abstraction. This is an extension of an optimizati...
: This tutorial considers the design of modern machine-independent optimising compilers for classica...
Programmers spent most of their time in speeding up a program. Sometimes, speeding up a program lead...
This article investigates several source-to-source C compilers for extracting pre-execution thread c...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Using only the internal program and data memory of a microcontroller can save large costs in embedde...
This paper describes transformation techniques for out-of-core pro-grams (i.e., those that deal with...
In a large class of embedded systems, dynamic multitasking using traditional OS techniques is infeas...
The performance of the memory hierarchy has become one of the most critical elements in the performa...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
Abstract. Application performance is heavily dependent on the com-piler optimizations. Modern compil...
Pre-execution is a promising latency tolerance technique that uses one or more helper threads runnin...