Hi! I am trying to figure out why for more complex function the generated code performs so badly. (Currently I am looking at 5% peak). From the collected statistics what are the most important numbers to look at? I see a lot of spilling-related stuff, but which ones are the one that have the biggest impact? Thanks, Frank ===-------------------------------------------------------------------------== ... Statistics Collected ... ===-------------------------------------------------------------------------== 6395 asm-printer - Number of machine instrs printed 1395 dagcombine - Number of dag nodes combined 3 isel - Number of blocks selected using DAG 1 isel - Number of entry blocks encountered 46005 isel - Number of times dag isel has to try another path 528 machine-cse - Number of copies coalesced 1 machine-licm - Number of machine instructions hoisted out of loops 1 machine-licm - Number of machine instructions hoisted out of loops post regalloc 8648 pei - Number of bytes used for stack in all functions 1 phielim - Number of phis lowered 665 pre-RA-sched - Number of loads clustered together 1472 regalloc - Number of copies inserted for splitting 2 regalloc - Number of cross class joins performed 1269 regalloc - Number of folded stack accesses 573 regalloc - Number of hoisted spills 197 regalloc - Number of identity moves eliminated after rewriting 637 regalloc - Number of instructions deleted by DCE 144 regalloc - Number of instructions re-materialized 2557 regalloc - Number of interferences evicted 2260 regalloc - Number of interval joins performed 7412 regalloc - Number of new live ranges queued 23 regalloc - Number of omitted spills of reloads 5882 regalloc - Number of registers assigned 3276 regalloc - Number of registers unassigned 1140 regalloc - Number of reloads inserted 67 regalloc - Number of reloads removed 11 regalloc - Number of rematerialized defs for spilling 650 regalloc - Number of spill slots allocated 851 regalloc - Number of spilled live ranges 81 regalloc - Number of spilled snippets 732 regalloc - Number of spills inserted 21 regalloc - Number of spills removed 1 regalloc - Number of split global live ranges 1162 regalloc - Number of split local live ranges 1180 regalloc - Number of splits finished 1180 regalloc - Number of splits that were simple 623 slotindexes - Number of local renumberings 1 stackmaps - Number of functions skipped 1 stackmaps - Number of functions visited 110 stackslotcoloring - Number of stack slots eliminated due to coloring 118 twoaddrinstr - Number of instructions aggressively commuted 216 twoaddrinstr - Number of instructions commuted to coalesce 3182 twoaddrinstr - Number of two-address instructions