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…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++ techniques, such as extensive template and preprocessor metaprogramming, that have pushed many C++ compilers beyond their breaking point.
Read more…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 invited to write a post detailing the design of the backend and my experiences with using LLVM.
Read more…