|
Profiling has been used successfully to guide code optimizations [1], [2], such as branch prediction strategies [3], [4], [5]. In order to use profiling information with optimizations, the profiling information must somehow be made available to the compiler. The tool described in this thesis accomplishes the above by automatically merging profiling results into the application's low-level intermediate representation, called Lcode, through a process called annotation. Figure 1.1 shows a ow diagram for the entire annotation process, starting from the original C source code.1 The first phase translates C code to Lcode. The profiler is run through the simulator, so it is necessary to probe the Lcode for simulation. Probing is performed in the second step. Next the profiler is run (through the simulator), and gathers the requested information. Finally, the annotation tool merges the profiling information, contained within an annotation file, into the Lcode.
|