This is the mail archive of the
mailing list for the GCC project.
[Patch]: Update bb->count to avoid erroneous partitioning decisions
- From: Christian Bruel <christian dot bruel at st dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 7 Nov 2012 12:24:58 +0100
- Subject: [Patch]: Update bb->count to avoid erroneous partitioning decisions
This tiny patch fixes the issue previously discussed in
Not maintaining bb->count while merging basic blocs results in wrong
partitioning (and surely other) decisions. This is visible on the SH4
with shrink-wrapping. I haven't noticed any difference on x86.
This also solves a few "Invalid sum of incoming frequencies" messages
while dumping the CFG
Reg-tested on x85 and sh-superh-elf. Is it OK for the 4.7 and 4.8 branches ?
2012-11-07 Christian Bruel <email@example.com>
* tree-ssa-tail-merge.c (replace_block_by): Update target bb count.
--- tree-ssa-tail-merge.c (revision 193283)
+++ tree-ssa-tail-merge.c (working copy)
@@ -1490,6 +1490,8 @@ replace_block_by (basic_block bb1, basic_block bb2
bb2->frequency = BB_FREQ_MAX;
bb1->frequency = 0;
+ bb2->count += bb1->count;
/* Do updates that use bb1, before deleting bb1. */