This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [gfortran] Make all labels DECL_ARTIFICIAL
- From: Steven Bosscher <stevenb at suse dot de>
- To: Paul Brook <paul at codesourcery dot com>
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 21 Dec 2004 00:15:07 +0100
- Subject: Re: [gfortran] Make all labels DECL_ARTIFICIAL
- Organization: SUSE Labs
- References: <200412202223.44499.stevenb@suse.de> <200412202310.26547.paul@codesourcery.com>
On Tuesday 21 December 2004 00:10, Paul Brook wrote:
> On Monday 20 December 2004 21:23, Steven Bosscher wrote:
> > There is absolutely nothing we gain from making Fortran's numeric
> > labels user labels (gdb can't put break points on them), and they
> > for some reason hurt performance. So the attached patch just all
> > marks them as compiler-generated. Thoughts?
>
> It'd be nice if we could figure out what "some reason" was,
We believed at the time that it would be useful to be able to set
a breakpoint on __label_#####.
> and/or why gdb
> won't set breakpoints on these labels.
It will, but users who try, say "b 100" will put a breakpoint on
line 100, not label 100. I wouldn't expect people to remember to
put a breakpoint on __label_00100.
> Last time I brought this up I was
> told that user labels should not effect the optimizers.
You were told wrong. At -O1 they're always preserved, which prevents
some merging of basic blocks. At the tree level it appears we never
remove user labels (there's a separate patch from from Andrew Pinski
to fix that).
> IMHO labels should
> not affect code quality, and this is an optimizer bug.
Yup.
Gr.
Steven