On Sun, Jul 7, 2019 at 9:04 PM Jeff Law <l...@redhat.com> wrote: > > On 7/7/19 3:43 AM, Richard Sandiford wrote: > > This patch stops gimple and rtl DSE from running by default at -Og. > > The idea is both to improve compile time and to stop us from deleting > > stores that we can't track in debug info. > > > > We could rein this back in future for stores to local variables > > with is_gimple_reg_type, but at the moment we don't have any > > infrastructure for switching between binds to specific values > > and binds to evolving memory locations. Even then, location > > tracking only works for direct references to the variables, and doesn't > > for example help with printing dereferenced pointers (see the next patch > > in the series for an example). > > > > I'm also not sure that DSE is important enough for -Og to justify the > > compile time cost -- especially in the case of RTL DSE, which is pretty > > expensive. > > > > Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? > > > > Richard > > > > > > 2019-07-07 Richard Sandiford <richard.sandif...@arm.com> > > > > gcc/ > > * common.opt (Og): Change the initial value of flag_dse to 0. > > * opts.c (default_options_table): Move OPT_ftree_dse from > > OPT_LEVELS_1_PLUS to OPT_LEVELS_1_PLUS_NOT_DEBUG. Also add > > OPT_fdse to OPT_LEVELS_1_PLUS_NOT_DEBUG. Put the OPT_ftree_pta > > entry before the OPT_ftree_sra entry. > > * doc/invoke.texi (Og): Add -fdse and -ftree-dse to the list > > of flags disabled by Og. > > > > gcc/testsuite/ > > * c-c++-common/guality/Og-global-dse-1.c: New test. > OK. I doubt DSE is at all important if someone has asked for Og.
Hmm. -Og also asks for runtime performance. Can we instead restrict DSE to artificial decls? I also fear that this leaves a _lot_ of abstraction for C++ code given we also do not run SRA with -Og even though that has means to preserve debug info. Richard. > BTW, if you're going to be poking at improving Og or debuginfo in > general, you might want to loop Alex into your plans. He did a detailed > evaluation of how the various options impact debugging, -Og issues, etc. > He's no longer with Red Hat, but can be reached at Adacore. > > jeff