The LLVM Project Blog

LLVM Project News and Details from the Trenches

  • Smaller debug info with constructor type homing

    Constructor type homing for debug info Background Class type information is a large contributor to debug info size. Clang already has a few optimizations to reduce the size of class type information based on the assumption that debug info can be spread out over multiple compilation units.

    Read more…
  • Women in Compilers and Tools Meetup Series

    As today is the last day of Women’s History Month, it seems fitting to announce a new meetup series for Women in Compilers and Tools. The LLVM Women in Compilers and Tools Meetup Series is a free virtual event held each month.

    Read more…
  • The New Pass Manager

    LLVM’s New Pass Manager What is a pass manager? A pass manager schedules transformation passes and analyses to be run on IR in a specific order. Passes can run on an entire module, a single function, or something more abstract such as a strongly connected component (SCC) in a call graph or a loop inside of a function.

    Read more…
  • Cling -- Beyond Just Interpreting C++

    Interactive C++ with Cling In our previous blog post “Interactive C++ for Data Science” we described eval-style programming, interactive C++ in Notebooks and CUDA. This post will discuss some developed applications of Cling supporting interoperability and extensibility.

    Read more…
  • LLVM meets Code Property Graphs

    The code property graph (CPG) is a data structure designed to mine large codebases for instances of programming patterns via a domain-specific query language. It was first introduced in the proceedings of the IEEE Security and Privacy conference in 2014 (publication, PDF) in the context of vulnerability discovery in C system code and the Linux kernel in particular.

    Read more…
  • Introducing Community.o and the Community.o Summit

    The LLVM Foundation is excited to announce Community.o! This is a new face to the LLVM Foundation’s Diversity and Inclusion and Women in Compilers and Tools program. We’ve adopted a name to represent what this program hopes to accomplish which is to build a strong, healthy, and diverse open source community.

    Read more…
  • Bringing Stack Clash Protection to Clang / X86 — the Open Source Way

    Context Stack clash is an attack that dates back to 2017, when the Qualys Research Team released an advisory with a joint blog post. It basically exploits large stack allocation (greater than PAGE_SIZE) that can lead to stack read/write not triggering the stack guard page allocated by the Linux Kernel.

    Read more…
  • Interactive C++ for Data Science

    Interactive C++ for Data Science In our previous blog post “Interactive C++ with Cling” we mentioned that exploratory programming is an effective way to reduce the complexity of the problem. This post will discuss some applications of Cling developed to support data science researchers.

    Read more…
  • Interactive C++ with Cling

    Interactive C++ with Cling The C++ programming language is used for many numerically intensive scientific applications. A combination of performance and solid backward compatibility has led to its use for many research software codes over the past 20 years.

    Read more…
  • The 2020 Virtual LLVM Developers' Meeting Program

    The LLVM Foundation is excited to announce the 2020 Virtual LLVM Developers’ Meeting program! Registration will open this week. Keynote: Undef and Poison: Present and Future - J. Lee Technical Talks:

    Read more…