------- Comment #2 from steven at gcc dot gnu dot org  2009-04-18 20:01 -------
Similar as what is said in commen #0, the detailed vrp1 dump of trunk today
has:

Removing basic block 3
;; basic block 3, loop depth 0, count 0
;; prev block 7, next block 4
;; pred:
;; succ:       8 [100.0%]  (fallthru,exec)
Invalid sum of incoming frequencies 0, should be 5000
goto <bb 8>;

Note the *Removing* basic block.  The CFG branch probabilities have already
been updated at this point.  The edge redirection functions do not take care of
this (often only the caller knows how the profile/predictions should be
updated).  You can see in the dump at the end what the function looks like
after vrp1, and you'll notice the branch probabilities are OK.

So there is no bug -> INVALID.

But thanks for the report.  It took me a little while to figure out what is
going on.  We should probably not dump this "Invalid sum" blah-blah for blocks
that we are about to remove.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35452

Reply via email to