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);