The LLVM Project Blog

LLVM Project News and Details from the Trenches

  • Kaleidoscope Performance with MCJIT

    In a previous post I described the process of porting the LLVM Kaleidoscope tutorial program to use MCJIT as its execution engine.  After navigating through a serious of road blocks we ended up with an implementation that was working as expected.

    Read more…
  • Using MCJIT with the Kaleidoscope Tutorial

    You may have noticed that there are two different JIT execution engines in the LLVM project.  The older implementation (llvm::JIT) is a sort of ad hoc implementation that brings together various pieces of the LLVM code generation and adds its own glue to get dynamically generated code into memory one function at a time.

    Read more…
  • LLDB 3.3 and beyond

    The LLVM project debugger (LLDB) has seen a recent upswing of activity around the LLVM 3.3 release.  While the debugger has long been the default tool with Xcode, its potential beyond Darwin has had room to grow.

    Read more…
  • LLVM 3.3 Released!

    LLVM 3.3 is now available! For details, you can read the Release Notes. LLVM 3.3 is a big release: it adds new targets for the AArch64 and AMD R600 GPU architectures, adds support for IBM's z/Architecture S390 systems, and major enhancements for the PowerPC backend (including support for PowerPC 2.

    Read more…
  • LLVM 3.3 Vectorization Improvements

    I would like to give a brief update regarding vectorization in LLVM. When LLVM 3.2 was released, it featured a new experimental loop vectorizer that was disabled by default. Since LLVM 3.

    Read more…
  • EuroLLVM 2013, Paris, France

    Two days after the end of EuroLLVM 2013, I finally got the energy to write a piece about it. It was a lot of hard work by an amazing team of volunteer organizers lead by Tobias Grosser, Duncan Sands, Sylvestre Ledru and Arnaud de Grandmaison, plus the usual suspects of the previous events, and in the end there was very little that had gone wrong, even in the slightest.

    Read more…
  • Clang support for C++11 and beyond

    As of r179861, Clang implements the entirety of the C++11 language standard. The following features have been implemented since the release of Clang 3.2, along with our plans for "

    Read more…
  • Euro LLVM 2013 in Paris

    In two weeks, the 2013 edition of the Euro LLVM conference will start in historic center of Paris, France.  The schedule has just been published.  Most of different aspects of the LLVM infrastructure will present at the event.

    Read more…
  • Status of the C++11 Migrator

    Since the design document for cpp11-migrate, the C++11 migrator tool, was first proposed in early December 2012 development has been making steady progress. In this article I'll talk about what's been implemented in cpp11-migrate so far, what's coming up, and how you can get involved.

    Read more…
  • Static analysis tools: using Clang in CppDepend

    Static analysis is a method of computer program debugging that is done by examining the code without executing the program. The process provides an understanding of the code structure, can help to ensure that the code adheres to industry standards, and can find bugs not easy to detect.

    Read more…