Microcode optimization techniques such as code scheduling and resource allocation can benefit significantly by reducing uncertainties in program control flow. A trace-selection algorithm with profiling information reduces the uncertainties in program control flow by identifying sequences of frequently invoked basic blocks as traces. These traces are treated as sequential codes for optimization purposes. For different trace-selection algorithms, the authors report the distribution of control transfers categorized according to their potential impact on the microcode optimizations. The experimental results are based on ten C application programs that exhibit large code sizes and complicated control structures. The measured data for each program were accumulated across a large number of input files to ensure the reliability of the result. All experiments were performed automatically using an IMPACT C compiler that contains integrated profiling and analysis tools.
|Original language||English (US)|
|Number of pages||9|
|Journal||MICRO: Annual Microprogramming Workshop|
|State||Published - 1988|
ASJC Scopus subject areas