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