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.
LLVM Project Blog
LLVM Project News and Details from the Trenches
Tuesday, June 29, 2010
Tuesday, June 8, 2010
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 existing LLVM technologies like the enhanced disassembler APIs, the Clang ASTs and expression parser, the LLVM code generator and JIT compiler.
While still in early development, LLDB supports basic command line debugging scenarios on the Mac, is scriptable, and has great support for multithreaded debugging. LLDB is already much faster than GDB when debugging large programs, and has the promise to provide a much better user experience (particularly for C++ programmers). We are excited to see the new platforms, new features, and enhancements that the broader LLVM community is interested in.
If you'd like to try out LLDB and participate in its development, please visit http://lldb.llvm.org/ and consider signing up for the lldb-dev and lldb-commits mailing lists.
-Chris and the LLDB Team
While still in early development, LLDB supports basic command line debugging scenarios on the Mac, is scriptable, and has great support for multithreaded debugging. LLDB is already much faster than GDB when debugging large programs, and has the promise to provide a much better user experience (particularly for C++ programmers). We are excited to see the new platforms, new features, and enhancements that the broader LLVM community is interested in.
If you'd like to try out LLDB and participate in its development, please visit http://lldb.llvm.org/ and consider signing up for the lldb-dev and lldb-commits mailing lists.
-Chris and the LLDB Team
Monday, June 7, 2010
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. As part of this award, the ACM is donating $2500 to the LLVM project.
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. As part of this award, the ACM is donating $2500 to the LLVM project.
Thursday, May 20, 2010
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. Beyond just being a library, Boost has become a benchmark and a selling point for C++ compilers: is your compiler standards-confomant enough to build Boost?
Clang is.
Monday, May 17, 2010
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. This is that post :).
Tuesday, May 11, 2010
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 to support C++'0x when the standard is ratified. libc++ is written and maintained by Howard Hinnant, but we look forward to contributions from the LLVM community.
libc++ is approximately 85% complete at this point (including C++'0x features), and while it is intended to support and complement the Clang++ compiler, it can be ported to work with a broad variety of different C++ compilers. For more information, see the http://libcxx.llvm.org web page.
-Chris
libc++ is approximately 85% complete at this point (including C++'0x features), and while it is intended to support and complement the Clang++ compiler, it can be ported to work with a broad variety of different C++ compilers. For more information, see the http://libcxx.llvm.org web page.
-Chris
Wednesday, April 14, 2010
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 Alias Analysis in C), tag information for a custom code generator, or pass through information to link time optimization. LLVM 2.7 provides first-class support for this, and has switched debug information over to use it (improving debug info!).
While the details of this feature can be found in the LLVM Language Reference manual, sometimes it is hard to distill the big picture from the low-level details. This post tries to fill the gap by explaining some history, motivation and example use cases for this new LLVM 2.7 feature.
This post was written by Devang Patel and myself.
While the details of this feature can be found in the LLVM Language Reference manual, sometimes it is hard to distill the big picture from the low-level details. This post tries to fill the gap by explaining some history, motivation and example use cases for this new LLVM 2.7 feature.
This post was written by Devang Patel and myself.
Subscribe to:
Posts (Atom)