The LLVM Project Blog

LLVM Project News and Details from the Trenches

  • C++ at Google: Here Be Dragons

    Google has one of the largest monolithic C++ codebases in the world. We have thousands of engineers working on millions of lines of C++ code every day. To help keep the entire thing running and all these engineers fast and productive we have had to build some unique C++ tools, centering around the Clang C++ compiler.

    Read more…
  • What Every C Programmer Should Know About Undefined Behavior #3/3

    In Part 1 of the series, we took a look at undefined behavior in C and showed some cases where it allows C to be more performant than "safe" languages.

    Read more…
  • What Every C Programmer Should Know About Undefined Behavior #2/3

    In Part 1 of our series, we discussed what undefined behavior is, and how it allows C and C++ compilers to produce higher performance applications than "safe" languages. This post talks about how "

    Read more…
  • What Every C Programmer Should Know About Undefined Behavior #1/3

    People occasionally ask why LLVM-compiled code sometimes generates SIGTRAP signals when the optimizer is turned on. After digging in, they find that Clang generated a "ud2" instruction (assuming X86 code) - the same as is generated by __builtin_trap().

    Read more…
  • Regular Expression Commands

    Greetings LLDB users. I want to start writing regular blog posts for the new and cool features and things you can do in LLDB. Today I will start with one that was just added: regular expression commands.

    Read more…
  • LLVM Developer Meeting 2010

    The 2010 edition of the LLVM Developer's Meeting has come and gone, and it was a great event. It featured 17 great talks, several BOF sessions, and lots of informal discussions between all sorts of people interested in LLVM and its subprojects.

    Read more…
  • LLVM in ClamAV

    New in version 0.96, the ClamAV antivirus system extends its internal bytecode interpreter to support an LLVM JIT compiler. This JIT compiler allows for improved execution speeds, but also provides the ability to write virus checks directly in C code.

    Read more…
  • TCE project: Co-design of application-specific processors with LLVM-based compilation support

    TTA-based Codesign Environment (TCE) is an application-specific instruction-set processor (ASIP) design toolset developed in Tampere University of Technology in several research projects since 2003. This blog post introduces the project and how LLVM is used in it to provide high-level language compiler support for the designed ASIPs.

    Read more…
  • New "lldb" Debugger

    I'm happy to announce a great new subproject of LLVM: LLDB. LLDB is a modern debugger infrastructure which is built (like the rest of LLVM) as a series of modular and reusable libraries.

    Read more…
  • LLVM receives first ever SIGPLAN Software Systems Award

    Today the ACM announced that Chris Lattner and the LLVM Project are the recipient of the Programming Languages Software Award. This award recognizes the impact that LLVM has had on the compiler research community, which can be seen in the large number of research publications using LLVM and the number of compiler courses that are using LLVM to teach compiler construction and optimization techniques.

    Read more…