Compiler Driven Code Comments and Refactoring

Per Larsen, Razya Ladelsky, Sven Karlsson, Ayal Zaks

    Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

    Abstract

    Helping programmers write parallel software is an urgent problem given the popularity of multi-core architectures. Engineering compilers which automatically parallelize and vectorize code has turned out to be very challenging and consequently compilers are very selective with respect to the coding patterns they can optimize. We present an interactive approach which leverages advanced compiler analysis and optimizations while retaining program- mer control over the source code and its transformation. This allows optimization even when programmers refrain from enabling optimizations to preserve accurate debug in- formation or to avoid bugs in the compiler. It also allows the source code to carry optimizations from one compiler to another. Secondly, our tool-set provides feedback on why optimizations do not apply to a code fragment and sug- gests workarounds which can be applied automatically. We demonstrate the ability of our tool to transform code, and suggest code refactoring that increase its amenability to op- timization. The transformations and suggestions are based on the loop parallelization and matrix reorganization capa- bilities in the GNU Compiler Collection.
    Original languageEnglish
    Title of host publicationProceedings of Swedish Workshop on Multi-Core Computing
    Volume3
    Publication date2010
    Publication statusPublished - 2010
    Event3rd Swedish Workshop on Multicore Computing: THIRD SWEDISH WORKSHOP ON MULTI-CORE COMPUTING - Gothenburg, Sweden
    Duration: 18 Nov 201019 Nov 2010
    Conference number: 3

    Conference

    Conference3rd Swedish Workshop on Multicore Computing
    Number3
    Country/TerritorySweden
    CityGothenburg
    Period18/11/201019/11/2010

    Fingerprint

    Dive into the research topics of 'Compiler Driven Code Comments and Refactoring'. Together they form a unique fingerprint.

    Cite this