Revision 1 as of 2006-07-13 00:16:28
converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 5:||Line 5:|
|* the ["old loop optimizer"] should go away||* the [[old_loop_optimizer]] should go away|
|Line 15:||Line 15:|
|* moving ["Simplifications"] on RTL to simplify-rtx.c||* moving [[Simplifications]] on RTL to simplify-rtx.c|
|Line 18:||Line 18:|
|* move libgcc to the toplevel (long term, but [:ZackWeinberg:Zack Weinberg] has already tried twice to convince me subliminally)||* move libgcc to the toplevel (long term, but [[ZackWeinberg|Zack Weinberg]] has already tried twice to convince me subliminally)|
|Line 25:||Line 25:|
|* Removing the old scheduler description, done together with [:StevenBosscher:Steven Bosscher] and Richard Sandiford.||* Removing the old scheduler description, done together with [[StevenBosscher|Steven Bosscher]] and Richard Sandiford.|
|Line 29:||Line 29:|
|* Some cleanups on [:Simplifications:RTL simplification] code.||* Some cleanups on [[Simplifications|RTL simplification]] code.|
The Wiki says I should "Describe Paolo Bonzini here".
I hack on GCC in my free time... My projects include:
- Getting rid of RTL optimizers, or actually targeting them at low-level optimization
the old_loop_optimizer should go away
- CSE should do different work, because with tree-ssa it gets much different rtl
- libcalls should go away, they are hiding interesting low-level details
- multi-word subregs should be lowered to regs very early
- CSE should do less work, smaller passes should do what CSE does:
- finding unnecessary paradoxical subregs
run simplify_rtx with definitions across different basic blocks, to subsume what cse-follow-jumps and cse-skip-blocks do
- instruction selection should not be done as combine does it now (there should be a tree combiner)
- regmove is another behemoth, maybe it should be split into multiple passes but I do not care much about that
- Cleaning up code, for example...
moving Simplifications on RTL to simplify-rtx.c
- Hacking the toplevel build system, to
- enable toplevel bootstrap (almost there)
move libgcc to the toplevel (long term, but Zack Weinberg has already tried twice to convince me subliminally)
- move multilibbing to the toplevel (pie-in-the-sky)
- Doing some vectorization work
- Doing what people convince me is intersting
- I have done some hacking with Richard Guenther to improve code generation, when SSE is used for math.
My current contributions to GCC include:
Removing the old scheduler description, done together with Steven Bosscher and Richard Sandiford.
Part of the current implementation of AltiVec, built on former work by Aldy Hernandez and Zem Laski.
- The pass that lowers vector operations to scalars, for targets without SIMD hardware
- Toplevel bootstrap
Some cleanups on RTL simplification code.
- Using the pass manager for RTL passes as well