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

Reply via email to