On Mon, Nov 25, 2013 at 1:30 PM, Dehao Chen <de...@google.com> wrote: > On Mon, Nov 25, 2013 at 10:26 AM, Diego Novillo <dnovi...@google.com> wrote: >> On Mon, Nov 25, 2013 at 1:22 PM, Xinliang David Li <davi...@google.com> >> wrote: >>> In this case the backedge will be a critical edge, which will be split by >>> GCC. >> >> Right. So, if I split it, I will reach essentially the same >> conclusion, I think. The new block will get the original block's >> weight, which (in turn) will translate into the (now only outgoing) >> edge. > > Why do you want to set the back edge count as the BB count? I think > the right formula is: count(back_edge) = count(BB) - > count(entry_edge), in which entry_edge is the edge that enters the > loop.
Ah, yeah, you're right. The CFG I was looking at had an incoming weight of 0 (the code snippet spends 99.9% of its runtime in that loop. Thanks. Diego.