Members

We have wings

Posted in CAFxX on August 19th, 2011 by CAFxX – Be the first to comment

Somewhere in the Italian Alps

thumbnail

Call-graph flattening for LLVM

Posted in CAFxX on July 15th, 2011 by CAFxX – 4 Comments

I just published the source code of the pilot implementation of the call-graph flattening transform (CGF) for LLVM. This is the same implementation used in my thesis (slides).

What CGF does is basically getting rid, during compilation, of the notion of “functions”. It does this by merging all the code together and by statically managing the stack during compilation. This means, ideally, getting the same benefits of inlining (no call overhead, callsite specialization) but without code duplication. Besides, many other optimizations are possible thanks to CGF, such as inter-procedural code motion. Moreover, since CGF is practically equivalent to continuation-passing style (CPS), there are interesting possibilities for efficient non-linear control flow semantics (exception handling, coroutines, etc.)

Currently the code is not ready for general usage because there are some cases (e.g. indirect recursion) that are not detected. Also, there are some parts of LLVM, such as the register spiller and the register allocator, that choke on CGF-transformed code because of the (potentially) huge number of PHI nodes and branches. For examples and a detailed account of open problems see chapter 4 of the thesis.

I’m planning to keep working on the implementation (and submitting LLVM bug reports) until the transformation is ready to be used on real-world code. If you have any suggestions or questions about this, don’t hesitate to get in touch with me.

What I talk about when I talk

Posted in CAFxX on June 19th, 2011 by CAFxX – Be the first to comment

Real title “What I talk about when I talk about rock” (screw you and your title length limit, dA!)

thumbnail

The Sage

Posted in CAFxX on June 12th, 2011 by CAFxX – Be the first to comment

My dog Bush (yes, he’s named after the previous US president; no, that’s not a compliment).

thumbnail

Yuki 2

Posted in CAFxX on June 7th, 2011 by CAFxX – Be the first to comment

thumbnail

Yang

Posted in CAFxX on June 4th, 2011 by CAFxX – Be the first to comment

thumbnail

Val Varaita

Posted in CAFxX on May 31st, 2011 by CAFxX – Be the first to comment

HDR panorama -1/-3/+1, Canon 40D, Tamron 18-250mm f/3.5-6.3, Autopano Giga 2.5, Adobe Photoshop CS5Val Varaita, Piemonte, Italia

thumbnail

Val Varaita

Posted in CAFxX on May 31st, 2011 by CAFxX – Be the first to comment

HDR panorama -1/-3/+1, Canon 40D, Tamron 18-250mm f/3.5-6.3, Autopano Giga 2.5, Adobe Photoshop CS5Val Varaita, Piemonte, Italia

thumbnail

Suburbia blues XIII

Posted in CAFxX on May 21st, 2011 by CAFxX – Be the first to comment

OGR, Torino, Italy

thumbnail

The gray zone

Posted in CAFxX on May 15th, 2011 by CAFxX – Be the first to comment

Canon 40D, Canon 50mm f/1.8, Autopano Giga 2, Photoshop CS5

thumbnail