Jump threading after basic block reorder?

Dave Hudson dave@cyclicode.net
Tue Jul 29 16:26:00 GMT 2003


Hi,

I've been working on a port of gcc for a new 32-bit embedded processor 
and as it uses static branch prediction with a reasonably high 
performance hit for predicting a branch taken rather than just 
predicting a fall-through then basic block reordering is a major 
performance advantage.  I was a little surprised to see that after the 
last run of basic block reordering we don't rerun jump threading even 
though we have run it several times before.  Without this I have quite a 
lot of code compiled with -Os and -O2 code that bloats by typically 8%.

I can see that at -O3 not rerunning the jump threading could give a 
small performance improvement in some situations (although I do wonder 
if the impact on caching might now actually make things worse on many 
processors?).

Am I missing some reason why this isn't done?


Regards,
Dave



More information about the Gcc mailing list