This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Jump threading after basic block reorder?
- From: Dave Hudson <dave at cyclicode dot net>
- To: GCC ML <gcc at gcc dot gnu dot org>
- Cc: dave dot hudson at ubicom dot com
- Date: Tue, 29 Jul 2003 16:42:02 +0100
- Subject: Jump threading after basic block reorder?
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