This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: An issue for the SC: horrible documentation quality of GCC
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: matz at suse dot de
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 12 May 03 12:30:05 EDT
- Subject: Re: An issue for the SC: horrible documentation quality of GCC
> For this and other reasons I've come to the conclusion that we need to
> separate our optimizations into generic and target dependent
> optimizations. And that conceptually the generic optimizations should
> strive to eliminate as much redundancy as possible, fully propagate
> constants/copies, etc and leave it to the expanders and target
> dependent optimizers to "undo" unprofitable redundancy elimination,
> cprop, etc.
Amen.
And I continue to strongly disagree with the above. The key to GCC's
success over the years has precisely been the knowlege of the
underlying machine characteristics within the optimizers. I certainly
agree that there are some high-level optimizations that can be
peformed in a machine-independent manner and these are the ones that
are being done on trees.
But I think that once we're at the state of optimizing RTL, all optimizers
need to know a lot about the machine they are optimizing for. Moreover,
I believe that the RTL optimizers will always have to have duplicate
optimizations with the tree level: for example, address calculations can
produce common subexpressions (often global) and loop invariants.