This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Check that there are no missing probabilities
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 13 Oct 2017 21:27:06 +0200
- Subject: Re: Check that there are no missing probabilities
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jakub at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4C39F83F40
- References: <20171013133833.GB16196@kam.mff.cuni.cz> <20171013171156.GI14653@tucnak> <20171013190655.GA56111@kam.mff.cuni.cz>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Oct 13, 2017 at 09:06:55PM +0200, Jan Hubicka wrote:
> For EH we should set it to profile_probability::zero () because we know it is unlikely
> path. I will take a look.
With the
--- gcc/cfghooks.c.jj 2017-10-13 18:27:12.000000000 +0200
+++ gcc/cfghooks.c 2017-10-13 19:15:11.444650533 +0200
@@ -162,6 +162,7 @@ verify_flow_info (void)
err = 1;
}
if (profile_status_for_fn (cfun) >= PROFILE_GUESSED
+ && (e->flags & (EDGE_EH | EDGE_ABNORMAL | EDGE_FAKE)) == 0
&& !e->probability.initialized_p ())
{
error ("Uninitialized probability of edge %i->%i", e->src->index,
hack x86_64-linux and i686-linux bootstrapped fine, but I see still many
graphite related regressions:
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: error: Uninitialized probability of edge 41->17
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: error: Uninitialized probability of edge 44->41
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: error: Uninitialized probability of edge 36->21
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: error: Uninitialized probability of edge 29->36
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: error: Uninitialized probability of edge 32->29
during GIMPLE pass: graphite
dump file: id-16.c.150t.graphite
/home/jakub/src/gcc/gcc/testsuite/gcc.dg/graphite/id-16.c:15:1: internal compiler error: verify_flow_info failed
0xafac1a verify_flow_info()
../../gcc/cfghooks.c:268
0xf2a624 checking_verify_flow_info
../../gcc/cfghooks.h:198
0xf2a624 cleanup_tree_cfg_noloop
../../gcc/tree-cfgcleanup.c:901
0xf2a624 cleanup_tree_cfg()
../../gcc/tree-cfgcleanup.c:952
0x162df85 graphite_transform_loops()
../../gcc/graphite.c:422
0x162f0c0 graphite_transforms
../../gcc/graphite.c:447
0x162f0c0 execute
../../gcc/graphite.c:524
So probably graphite needs to be tweaked for this too.
Jakub