This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Projects for beginners
On Wed, Jan 31, 2001 at 06:33:47PM -0500, Daniel Berlin wrote:
> > Optimizer/back end improvements:
> >
> > These require some knowledge of compiler internals and substantial
> > programming skills, but not detailed knowledge of GCC internals.
> > I think.
>
> Yer, right, i have only lmited knowledg eof gcc internals, and the
> register allocator so far has only taken 1 week, working in my spare time.
Putting together a brand new pass from scratch, using all the modern
conveniences, is probably *easier* than scraping gunk out of the older
passes that do everything by cut and try and demonic ritual.
> > Make GCSE (and CSE?) capable of digging inside PARALLELs.
> > - Needed for GCSE to do any good at all on i386.
>
> Wait, it can't?
> Oh, the clobbers.
I don't honestly know what's wrong, I only know that it was said that
it couldn't.
Michael's single_set explanation makes sense, but I have no idea what
the right thing to do about it would be.
> > Improve dwarf2out.c.
> > - DWARF2 can handle all kinds of heavy optimizations that we'd
> > like to do, but our generator doesn't know how just yet. At
> > the very least it'd be nice if -gdwarf-2 -fomit-frame-pointer
> > could give you a clean backtrace on all targets. (This is
> > definitely possible.)
> > - Need to coordinate with gdb team.
>
> Until more targets move off of stabs as the default, this won't happen,
> because there is no motivation.
> It's the same reason gdb still scans the prologue the hard way when we
> could just use the info dwarf2 gives us. It's hard to convince people to
> implement it when their target doesn't default to stabs.
You can do --with-dwarf2 when configuring gcc for any target, and
it'll force dwarf2. I used to do this all the time on Linux, but I
had to stop because something started triggering dwarf2 aborts and I
couldn't find out why.
I don't know what happens if you do this on a target without arbitrary
section names.
I'd be all for flipping the -g default over to dwarf2 on all ELF
platforms right after 3.0 branches. After the screaming dies down, we
should be in good shape.
zw