On Tue, 19 Feb 2019, Caroline Tice wrote: > On Tue, Feb 19, 2019 at 1:57 AM Richard Biener <rguent...@suse.de> wrote: > > > > > Looks like vtv_generate_init_routine calls symtab->process_new_functions > > () which has seriously bad effects on GCCs internal memory state. > > > > VTV has zero testsuite coverage it seems and besides its initial > > commit didn't receive any love. > > > > I am puzzled by these statements, as neither of them is true. VTV does > have a testsuite in the libvtv directory. Naturally you can only run them > when vtv is enabled and only from the libvtv build tree, as they will all > fail if VTV is not enabled. I have fixed various bugs in VTV since the > initial commit, and I have also approved several patches, especially for > people migrating it to other architectures, suggesting that interest in it > is not zero. > > > > > > > Can we rip it out please? > > > > Is the patch OK? (Pointless) bootstrap and regtest running on > > x86_64-unknown-linux-gnu. > > > > Has anybody "recently" tried to enable the feature and tested the > > result? > > > > I have not tried building it recently, but will do so. I will review your > patch to see if it makes sense. I would prefer that VTV not be 'ripped > out' of GCC, and will do whatever I can, within reason, to try to fix its > issues.
Meanwhile the patch passed bootstrap and testing with --enable-vtable-verify. Richard. > > > > > Thanks, > > Richard. > > > > 2019-02-19 Richard Biener <rguent...@suse.de> > > > > PR middle-end/89392 > > cp/ > > * vtable-class-hierarchy.c (vtv_generate_init_routine): Do not > > make symtab process new functions here. > > > > Index: gcc/cp/vtable-class-hierarchy.c > > =================================================================== > > --- gcc/cp/vtable-class-hierarchy.c (revision 269009) > > +++ gcc/cp/vtable-class-hierarchy.c (working copy) > > @@ -1191,8 +1191,6 @@ vtv_generate_init_routine (void) > > gimplify_function_tree (vtv_fndecl); > > cgraph_node::add_new_function (vtv_fndecl, false); > > > > - symtab->process_new_functions (); > > - > > if (flag_vtable_verify == VTV_PREINIT_PRIORITY && !TARGET_PECOFF) > > assemble_vtv_preinit_initializer (vtv_fndecl); > > > > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)