Quantcast
Channel: LLVM Project Blog
Browsing all 225 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Intro to the LLVM MC Project

The LLVM Machine Code (aka MC) sub-project of LLVM was created to solve a number of problems in the realm of assembly, disassembly, object file format handling, and a number of other related areas that...

View Article


Image may be NSFW.
Clik here to view.

Extensible Metadata in LLVM IR

A common request by front-end authors is to be able to add some sort of metadata to LLVM IR. This metadata could be used to influence language-specific optimization passes (for example, Type Based...

View Article


Image may be NSFW.
Clik here to view.

New "libc++" C++ Standard Library

I'm happy to announce a new subproject of LLVM: "libc++". libc++ is an implementation of the C++ Standard Library, with a focus on standards compliance, highly efficient generated code, and with an aim...

View Article

Image may be NSFW.
Clik here to view.

The Glasgow Haskell Compiler and LLVM

If you read the LLVM 2.7 release notes carefully you would have noticed that one of the new external users is the Glasgow Haskell Compiler (GHC). As the author of the LLVM backend for GHC, I have been...

View Article

Image may be NSFW.
Clik here to view.

Clang++ Builds Boost!

Boost is a collection of open-source, peer-reviewed C++ libraries that's well-known for having many good utility components for C++ programmers. It's also well-known for using bleeding-edge C++...

View Article


Image may be NSFW.
Clik here to view.

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...

View Article

Image may be NSFW.
Clik here to view.

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. LLDB builds on...

View Article

Image may be NSFW.
Clik here to view.

TCE project: Co-design of application-specific processors with LLVM-based...

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....

View Article


Image may be NSFW.
Clik here to view.

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...

View Article


Image may be NSFW.
Clik here to view.

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...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article


Image may be NSFW.
Clik here to view.

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. In Part 2, we looked at the surprising bugs this...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article


Image may be NSFW.
Clik here to view.

LLVM @ "The Architecture of Open Source Applications"

LLVM is featured in a chapter of the new book The Architecture of Open Source Applications. This chapter talks about the high-level design of LLVM, and how it differs from other contemporary compilers...

View Article

Image may be NSFW.
Clik here to view.

Greedy Register Allocation in LLVM 3.0

LLVM has two new register allocators: Basic and Greedy. When LLVM 3.0 is released, the default optimizing register allocator will no longer be linear scan, but the new greedy register allocator.With...

View Article


Image may be NSFW.
Clik here to view.

LLVM 3.0 Type System Rewrite

One of the most pervasive IR (and thus compiler API) changes in LLVM 3.0 was a complete reimplementation of the LLVM IR type system. This change was long overdue (the original type system lasted from...

View Article

Image may be NSFW.
Clik here to view.

LLVM 3.0 Exception Handling Redesign

One of the biggest IR changes in the LLVM 3.0 release is a redesign and reimplementation of the LLVM IR exception handling model. The old model, while it worked for most cases, fell over in some key...

View Article

Image may be NSFW.
Clik here to view.

LLVM 3.1 vector changes

Intel uses the Low-Level Virtual Machine (LLVM) in a number of products, including the Intel® OpenCL SDK. The SDK's implicit vectorization module generates LLVM-IR (intermediate representation) which...

View Article
Browsing all 225 articles
Browse latest View live


Latest Images