This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/35452] erasing uncessary warning for basic block frequency computation
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Apr 2009 20:01:28 -0000
- Subject: [Bug tree-optimization/35452] erasing uncessary warning for basic block frequency computation
- References: <bug-35452-14209@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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