On Wed, 10 Feb 2016, Jakub Jelinek wrote: > Hi! > > During profiledbootstrap on ppc64 I've noticed a -Wmaybe-uninitialized > warning in vect_schedule_slp_instance, when built with -fprofile-generate. > While it is clearly a false positive, IMHO it is completely unnecessary > to use here two variables, one uninitialized, another bool whether > it is initialized. In valid code gimple_assign_rhs_code should not > return ERROR_MARK, so we can use ocode == ERROR_MARK for the allsame > case and ocode != ERROR_MARK for !allsame. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
Ok. Thanks, Richard. > 2016-02-10 Jakub Jelinek <ja...@redhat.com> > > PR target/65313 > * tree-vect-slp.c (vect_schedule_slp_instance): Avoid > -Wmaybe-uninitialized warning. > > --- gcc/tree-vect-slp.c.jj 2016-01-21 13:54:19.000000000 +0100 > +++ gcc/tree-vect-slp.c 2016-02-09 13:40:30.280769470 +0100 > @@ -3568,20 +3568,18 @@ vect_schedule_slp_instance (slp_tree nod > if (SLP_TREE_TWO_OPERATORS (node)) > { > enum tree_code code0 = gimple_assign_rhs_code (stmt); > - enum tree_code ocode; > + enum tree_code ocode = ERROR_MARK; > gimple *ostmt; > unsigned char *mask = XALLOCAVEC (unsigned char, group_size); > - bool allsame = true; > FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, ostmt) > if (gimple_assign_rhs_code (ostmt) != code0) > { > mask[i] = 1; > - allsame = false; > ocode = gimple_assign_rhs_code (ostmt); > } > else > mask[i] = 0; > - if (!allsame) > + if (ocode != ERROR_MARK) > { > vec<gimple *> v0; > vec<gimple *> v1; > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)