This is the mail archive of the
mailing list for the GCC project.
Re: Projects for beginners
- To: Zack Weinberg <zackw at Stanford dot EDU>
- Subject: Re: Projects for beginners
- From: Daniel Berlin <dberlin at redhat dot com>
- Date: Wed, 31 Jan 2001 18:33:47 -0500 (EST)
- cc: <gcc at gcc dot gnu dot org>
> 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.
> Make insn-recog.c use a byte-coded DFA.
> - RTH and I started this back in 1999 but never finished. I
> may still be able to find the code.
> - Order of 10x size reduction in insn-recog.o, which is huge
> (432K on i386)
> 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 have the SSA global value numbering dig inside of parallels, but we
don't do the deletion just yet, because I figured PRE would take care of
it if we just renumbered the registers.
> Teach the combiner to delete no-op moves it generates.
> - Including unrecognizable no-op moves. You can get things
> like (set (cc0) (cc0)) or (set (pc) (pc)) neither of which is
> a valid insn, but throwing them out would win. See thread at
> Find all the places that simplify RTL and make them use
> Convert reorg.c to use the flow graph. Then we can throw away
> - Long term we want reorg folded into the scheduler, but
> that's much harder.
> 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.