For backend expansion, we still don't have interface to pass the bits
around. See disucssion surrounding
http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01371.html
and few pings I sent. (ie adding simple global var feels like hack, on
the other hand suggested way to add global var pointing to BB it is
expanding to don't seem very wise idea to me since in many cases we are
expanding code that does not belong to particular BB, such as when
expanding single tree code into loop or adding infrequently executed
fallback code or putting code on the edge of CFG.
We may teach the expansion code to alter the hotness as needed, but
overwriting the values in the BB temporarily to make the predicates
based on BB return true or false is a hack.
So this patch got stuck, I would still like to see something like that
get into 4.3)