This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the EGCS project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: stupid.c, rip


[ I'm cc'ing this message to gcc-patches@gcc.gnu.org, just to see if it
  works ]

Richard Henderson wrote:

> One thing additional that's needed by local in order to do its
> job is a CFG, so we have to run flow.  Which really would
> prefer to have things tidied a bit in jump.  So:
> 
>    (A) Jump now does jump tensioning at -O0.  We do delete
>        unreachable insns.
> 
>    (B) Flow is run.  We do remove unreachable blocks, but do
>        not do block merging.
> 
>    (C) The needless uses are dead.
> 
>    (D) Flow does the right thing in mark_regs_live_at_end.
> 
>    (E) Nothing is done in global to restore stupid's putting
>        `register' variables in registers.  I don't really see
>        this as interesting to a minimal-optimization mode,
>        but if we do do something, global should be the one
>        to do it.

Does this also mean we can now warn for the use of potentially
uninitialized variables without requesting the user to specify -O ?

I think that would be conceptually a great advantage.

Use of uninitialized variables constitutes a large segment of the bug
reports "not in GNU Fortran" because Fortran allows implicit
declaration:

      NRECEIVE = 10
      ...
      IF (NRECIEVE .EQ. 10) THEN
      ...

and it always hard to explain to most Fortran users that "we cannot warn
for uninitialized variables unless you specify -O, because [follows some
compiler theory] and we do not do that analysis unless optimizing".

Cheers,

-- 
Toon Moene (toon@moene.indiv.nluug.nl)
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
GNU Fortran: http://world.std.com/~burley/g77.html

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]