Missed this on the previous patch.  The method live_on_edge() no
longer needs to be inside the vrp_insert class.  I've removed the
prototype.

Committed to mainline.

On Sun, May 17, 2020 at 1:35 PM Aldy Hernandez <al...@redhat.com> wrote:
>
> Funny, I had queued up more or less the same changes on my tree, but
> Giuliano beat me to it.
>
> I am committing the attached patch that has been approved by Jeff.
>
> I moved a couple more functions into the vrp_insert class, as well as
> abstract out the liveness bitmap into its own class.  I also renamed
> the various dump/debug routines into overloaded methods.
>
> Finally, I noticed the indentation for the class was off, and fixed it.
>
> Committed to mainline.
> Aldy
>
> On Fri, May 8, 2020 at 6:21 PM Jeff Law via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > On Fri, 2020-05-08 at 13:06 -0300, Giuliano Belinassi via Gcc-patches wrote:
> > > Hi,
> > >
> > > This patch Refactors tree-vrp.c to eliminate all global variables except
> > > 'x_vrp_values', which will require that 'thread_outgoing_edges' to
> > > accept an extra argument and pass it to the 'simplify' callback.
> > >
> > > It also removes every access to 'cfun', retrieving the function being
> > > compiled from the pass engine.
> > >
> > > Bootstrapped and ran the testsuite on Linux x86_64.
> > >
> > > gcc/ChangeLog
> > > 2020-05-08  Giuliano Belinassi  <giuliano.belina...@usp.br>
> > >
> > >       * tree-vrp.c (class liveness): New.
> > >       (insert_range_assertions): Move to class liveness.
> > >       (dump_all_asserts): Same as above.
> > >       (dump_asserts_for): Same as above.
> > >       (live): Same as above.
> > >       (need_assert_for): Same as above.
> > >       (live_on_edge): Same as above.
> > >       (finish_register_edge_assert_for): Same as above.
> > >       (find_switch_asserts): Same as above.
> > >       (find_assert_locations): Same as above.
> > >       (find_assert_locations_1): Same as above.
> > >       (find_conditional_asserts): Same as above.
> > >       (process_assert_insertions): Same as above.
> > >       (register_new_assert_for): Same as above.
> > >       (vrp_prop): New variable fun.
> > >       (vrp_initialize): New parameter.
> > >       (identify_jump_threads): Same as above.
> > >       (execute_vrp): Same as above.
> > Just a note.  While the old VRP implementation in tree-vrp.c is on the 
> > chopping
> > block, but it'll likely be the end of summer before we know if further work 
> > in
> > the new Ranger based implementation will be needed to totally replace 
> > tree-vrp
> > w/o introducing any performance regressions.
> >
> > Thus, IMHO, we should go forward with the review.
> >
> > Jeff
> >
> >
> >
commit 92b16b5ce7e5ab74b1807c7be96a15663fa17ddd
Author: Aldy Hernandez <al...@redhat.com>
Date:   Sun May 17 13:40:09 2020 +0200

            * tree-vrp.c (class vrp_insert): Remove prototype for
            live_on_edge.

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1e0330d9d55..fecc494f380 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-05-17  Aldy Hernandez  <al...@redhat.com>
+
+	* tree-vrp.c (class vrp_insert): Remove prototype for
+	live_on_edge.
+
 2020-05-17  Aldy Hernandez  <al...@redhat.com>
 
 	* tree-vrp.c (class live_names): New.
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index e4bc774dd50..4b5df543c00 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -244,9 +244,6 @@ private:
      ASSERT_EXPRs for SSA name N_I should be inserted.  */
   assert_locus **asserts_for;
 
-  /* Return true if the SSA name NAME is live on the edge E.  */
-  bool live_on_edge (edge e, tree name);
-
   /* Finish found ASSERTS for E and register them at GSI.  */
   void finish_register_edge_assert_for (edge e, gimple_stmt_iterator gsi,
 					vec<assert_info> &asserts);

Reply via email to