On Thu, 6 May 2021, Jakub Jelinek wrote: > Hi! > > Various functions in phiopt are also called with a gphi * but use > gimple * argument for it. Fixed thusly, bootstrapped/regtested on > x86_64-linux and i686-linux, ok for trunk?
Yes (obvious even). Richard. > 2021-05-06 Jakub Jelinek <ja...@redhat.com> > > * tree-ssa-phiopt.c (value_replacement, minmax_replacement, > abs_replacement, xor_replacement, > cond_removal_in_popcount_clz_ctz_pattern, > replace_phi_edge_with_variable): Change type of phi argument from > gimple * to gphi *. > > --- gcc/tree-ssa-phiopt.c.jj 2021-05-05 15:06:23.253189139 +0200 > +++ gcc/tree-ssa-phiopt.c 2021-05-05 18:02:07.600019038 +0200 > @@ -57,23 +57,23 @@ static bool conditional_replacement (bas > static gphi *factor_out_conditional_conversion (edge, edge, gphi *, tree, > tree, > gimple *); > static int value_replacement (basic_block, basic_block, > - edge, edge, gimple *, tree, tree); > + edge, edge, gphi *, tree, tree); > static bool minmax_replacement (basic_block, basic_block, > - edge, edge, gimple *, tree, tree); > + edge, edge, gphi *, tree, tree); > static bool abs_replacement (basic_block, basic_block, > - edge, edge, gimple *, tree, tree); > + edge, edge, gphi *, tree, tree); > static bool xor_replacement (basic_block, basic_block, > - edge, edge, gimple *, tree, tree); > + edge, edge, gphi *, tree, tree); > static bool spaceship_replacement (basic_block, basic_block, > edge, edge, gphi *, tree, tree); > static bool cond_removal_in_popcount_clz_ctz_pattern (basic_block, > basic_block, > - edge, edge, gimple *, > + edge, edge, gphi *, > tree, tree); > static bool cond_store_replacement (basic_block, basic_block, edge, edge, > hash_set<tree> *); > static bool cond_if_else_store_replacement (basic_block, basic_block, > basic_block); > static hash_set<tree> * get_non_trapping (); > -static void replace_phi_edge_with_variable (basic_block, edge, gimple *, > tree); > +static void replace_phi_edge_with_variable (basic_block, edge, gphi *, tree); > static void hoist_adjacent_loads (basic_block, basic_block, > basic_block, basic_block); > static bool gate_hoist_loads (void); > @@ -389,7 +389,7 @@ tree_ssa_phiopt_worker (bool do_store_el > > static void > replace_phi_edge_with_variable (basic_block cond_block, > - edge e, gimple *phi, tree new_tree) > + edge e, gphi *phi, tree new_tree) > { > basic_block bb = gimple_bb (phi); > basic_block block_to_remove; > @@ -1113,8 +1113,7 @@ absorbing_element_p (tree_code code, tre > > static int > value_replacement (basic_block cond_bb, basic_block middle_bb, > - edge e0, edge e1, gimple *phi, > - tree arg0, tree arg1) > + edge e0, edge e1, gphi *phi, tree arg0, tree arg1) > { > gimple_stmt_iterator gsi; > gimple *cond; > @@ -1422,8 +1421,7 @@ value_replacement (basic_block cond_bb, > > static bool > minmax_replacement (basic_block cond_bb, basic_block middle_bb, > - edge e0, edge e1, gimple *phi, > - tree arg0, tree arg1) > + edge e0, edge e1, gphi *phi, tree arg0, tree arg1) > { > tree result; > edge true_edge, false_edge; > @@ -2266,7 +2264,7 @@ spaceship_replacement (basic_block cond_ > static bool > cond_removal_in_popcount_clz_ctz_pattern (basic_block cond_bb, > basic_block middle_bb, > - edge e1, edge e2, gimple *phi, > + edge e1, edge e2, gphi *phi, > tree arg0, tree arg1) > { > gimple *cond; > @@ -2424,7 +2422,7 @@ cond_removal_in_popcount_clz_ctz_pattern > static bool > abs_replacement (basic_block cond_bb, basic_block middle_bb, > edge e0 ATTRIBUTE_UNUSED, edge e1, > - gimple *phi, tree arg0, tree arg1) > + gphi *phi, tree arg0, tree arg1) > { > tree result; > gassign *new_stmt; > @@ -2548,7 +2546,7 @@ abs_replacement (basic_block cond_bb, ba > static bool > xor_replacement (basic_block cond_bb, basic_block middle_bb, > edge e0 ATTRIBUTE_UNUSED, edge e1, > - gimple *phi, tree arg0, tree arg1) > + gphi *phi, tree arg0, tree arg1) > { > if (!INTEGRAL_TYPE_P (TREE_TYPE (arg1))) > return false; > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)