This corresponds to: [PATCH 16/89] tree-ssa-loop-ivopts.c: use gimple_phi in a few places https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01165.html from the original 89-patch kit
That earlier patch was approved by Jeff: > OK when prerequisites have gone in. > Actually that's true for #17 & #18 as well. in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00626.html gcc/ * tree-ssa-loop-ivopts.c (determine_biv_step): Require a gimple_phi. (find_bivs): Convert local "phi" into a gimple_phi. (mark_bivs): Likewise. --- gcc/ChangeLog.gimple-classes | 8 ++++++++ gcc/tree-ssa-loop-ivopts.c | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 1e636be..4006f14 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,13 @@ 2014-10-24 David Malcolm <dmalc...@redhat.com> + tree-ssa-loop-ivopts.c: use gimple_phi in a few places + + * tree-ssa-loop-ivopts.c (determine_biv_step): Require a gimple_phi. + (find_bivs): Convert local "phi" into a gimple_phi. + (mark_bivs): Likewise. + +2014-10-24 David Malcolm <dmalc...@redhat.com> + tree-ssa-loop-manip.c: use gimple_phi in three places * tree-ssa-loop-manip.c (add_exit_phi): Convert local "phi" to be a diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 8d330d9..0e33774 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -1037,7 +1037,7 @@ get_iv (struct ivopts_data *data, tree var) not define a simple affine biv with nonzero step. */ static tree -determine_biv_step (gimple phi) +determine_biv_step (gimple_phi phi) { struct loop *loop = gimple_bb (phi)->loop_father; tree name = PHI_RESULT (phi); @@ -1057,7 +1057,7 @@ determine_biv_step (gimple phi) static bool find_bivs (struct ivopts_data *data) { - gimple phi; + gimple_phi phi; tree step, type, base; bool found = false; struct loop *loop = data->current_loop; @@ -1102,7 +1102,8 @@ find_bivs (struct ivopts_data *data) static void mark_bivs (struct ivopts_data *data) { - gimple phi, def; + gimple_phi phi; + gimple def; tree var; struct iv *iv, *incr_iv; struct loop *loop = data->current_loop; -- 1.8.5.3