SN Systems Tech Blog


    LLVM Build Times Using a Program Repository

    ARTICLE BY: Ying Yi
    POSTED: Jan 20, 2020
    TAGS: LLVM Developers Meeting, Toolchain

    The Program Repository is a project studying the benefits of changing the build workflow, storing object data in a database instead of object files, structured to eliminate duplicated work from the compilation process, enable incremental compilation, and to minimize the work that must be performed by the linker. This article will present the current compile time gains building LLVM and Clang. The Program Repository identifies duplicate code and data across compile units and avoids repeated work during both compilation and linkage. For example, if a function is present in multiple compile units then it will only be optimised and stored once. With duplicates identified at compile time, a program repository linker will not need to process any code or data that it would otherwise discard


    Understanding the performance of code using LLVM's (llvm-mca)

    ARTICLE BY: Ying Yi
    POSTED: Dec 13, 2018
    TAGS: Compiler, LLVM, LLVM Developers Meeting, Toolchain

    LLVM-mca is a LLVM based tool that uses information available in LLVM’s scheduling models to statically measure the performance of machine code in a specific CPU. The goal of this tool is not just to predict the performance of the code when run on the target, but also to help with diagnosing potential performance issues. In this talk we, will discuss how llvm-mca works and walk the audience through example uses of this tool.