Projects for beginners
Zack Weinberg
zackw@Stanford.EDU
Wed Jan 31 18:26:00 GMT 2001
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
More information about the Gcc
mailing list