[gfortran] Make all labels DECL_ARTIFICIAL

Steven Bosscher stevenb@suse.de
Mon Dec 20 23:13:00 GMT 2004


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



More information about the Fortran mailing list