Log in

No account? Create an account

Previous Entry | Next Entry


GCC Developers' Summit 2004, Day 1

  • 2nd Jun, 2004 at 4:27 PM

I'm sitting in the Ottawa Congress Centre attending the 2004 GCC Developers' Summit. It's good to have wireless Internet access for my laptop this year—it makes e-mail that much easier to keep up with.

This morning, we heard F. Kenneth Zadeck talk about Tree-SSA, and its various problems. Mr. Zadeck started NaturalBridge, a company that wrote a static Java compiler that used SSA as its only internal representation. Now he has been hired by Apple Computer to optimise the SSA optimisation passes inside GCC. He highlighted many deficiencies that are easy to fix, and has provided simple solutions for them. Sadly, even though they are conceptually easy, it will probably take a lot of work to fix them.

Next, Árpád Beszédes talked about his benchmarking suite, called CSiBE. It basically searches through the various optimisation flags and see how it affects code-size, compile-time and run-time performance. The result of this is that developers can see what their code changes do to the performance of GCC, and can make well-informed decisions on how they change the code. Although CSiBE is focused on code-size measurement, since this is targeted for embedded systems, the test-bed also shows the size/performance trade-off. After all, smaller code might also perform better due to large caches and good locality. He proposes to e-mail regression warnings for performance changes after every nightly build.

Afterward, we heard a talk by Andrew Haley and Tom Tromley on a new ABI for GCJ. They hope to break the current binary interface so that they make it comply with the Java Specification. Their biggest problem is trying to do runtime-linking and just-in-time compilation. They think they've figured out to how to do this without a significant performance hit; but it basically means throwing out the current reliance on the ELF binary format, and doing all the linking themselves.

Finally, there was a talk by Gábor Lóki on two RTL optimisations for reducing code-size. One is to hoist on sink code within conditionals, if their values do not rely on the predicates. The second optimisation is to take duplicate code, factor it into a function, and then call that function. I think that both these optimisations can be done in SSA fairly easily, and it looks like this will eventually happen.

Now I'm waiting for two Birds of a Feather sessions to start. One is on the upcoming GCC Binary Compatibility Framework, and I've forgotten about what the next one is. I think they want to ask people to add non-binary compatibility tests in the framework, because it's just so awesome.

Update: Actually, that second BOF is actually a talk on High Performance Code for IA-32. It's a good talk on how to align data, do loop feeling, and exploit vectorisation code. Apparently, this is stuff that ICC does, and Intel sent some guy to explain to GCC people how they do it. Isn't that neat?


( 4 comments — Leave a comment )
2nd Jun, 2004 21:56 (UTC)
I was supposed to be there this morning to do early registration, but I was sick, so I stayed home all day. :(

Will be there tomorrow!
2nd Jun, 2004 22:05 (UTC)

Oh, I was looking for you. I hope you feel better tomorrow.

2nd Jun, 2004 23:42 (UTC)
I'm sitting in the Ottawa Congress Centre attending the 2004 GCC Developers' Summit

ENVY. That's my one word description of my feelings on your circumstances :P

By the way, since you're coming down to Waterloo for co-op interviews, I presume you're coming to NITI night in Monday? If so, I think I remember owing you a drink for something... I'm positive I do.
Anyways, I shall get my chance to make good on that. See you on the 7th!
3rd Jun, 2004 11:23 (UTC)

Hey dude, wait until you could back to Montréal before
buying me drinks. At the NITI night, we'll be drinking on the
corporate tab.

( 4 comments — Leave a comment )