The LLVM 1.0 Release is now available!

Chris Lattner <sabre@nondot.org>
31 Oct 2003 22:42:46 -0500

          From comp.compilers

Related articles
The LLVM 1.0 Release is now available! sabre@nondot.org (Chris Lattner) (2003-10-31)
| List of all articles for this month |

From: Chris Lattner <sabre@nondot.org>
Newsgroups: comp.compilers
Date: 31 Oct 2003 22:42:46 -0500
Organization: University of Illinois at Urbana-Champaign
Keywords: tools, available
Posted-Date: 31 Oct 2003 22:42:46 EST

                              LLVM Compiler Infrastructure -- Release 1.0
                                                  http://llvm.cs.uiuc.edu (*)


We are pleased to announce the public release of the LLVM Compiler
Infrastructure under a non-restrictive open source license.


WHAT IS LLVM?
      LLVM is a new infrastructure designed for compile-time, link-time,
      runtime, and "idle-time" optimization of programs from arbitrary
      programming languages. LLVM is written in C++ and has been developed
      over the past 3 years at the University of Illinois. It currently
      supports compilation of C and C++ programs, using front-ends derived
      from GCC 3.4. New front-ends are being written for Java bytecode and
      CAML.


WHO WILL FIND THIS RELEASE USEFUL?
      o Compiler researchers interested in compile-time, link-time
            (interprocedural) and runtime transformations for C and C++
            programs.
      o Virtual machine researchers/developers interested in a portable,
            language-independent instruction set and compilation framework.
      o Architecture researchers interested in compiler/hardware
            techniques.
      o Security researchers interested in static analysis or
            instrumentation.
      o Instructors (or anyone else) interested in a system for quick
            prototyping of compiler transformations.


HOW LONG DOES IT TAKE TO GET STARTED WITH LLVM?
      We have found that new users can install LLVM and write their first
      LLVM pass in hours, and start sophisticated projects using LLVM within
      days.


WHY IS LLVM USEFUL?
      LLVM uses a low-level, RISC-like, language-independent representation
      to analyze and optimize programs. Key features include explicit
      control flow, dataflow (SSA), and a language-independent type system
      that can capture the _operational behavior_ of high-level languages.
      The LLVM representation is low-level enough to represent arbitrary
      application and system code, yet is powerful enough to support
      aggressive "high-level" transformations. The LLVM infrastructure uses
      this representation to allow these optimizations to occur at
      compile-time, link-time and runtime.


WHAT IS INCLUDED IN THIS RELEASE?
      Release 1.0 is intended to be a fully functional release of our
      compiler system for C and C++. As such, it includes the following:
      o Front-ends for C and C++ based on GCC 3.4, supporting the full
            ANSI-standard C and C++ languages, plus many GCC extensions.
      o A wide range of global scalar optimizations
      o A link-time interprocedural optimization framework, with a rich
            set of analyses and transformations, including sophisticated
            whole-program pointer analysis and call graph construction.
      o Native code generators for x86 and Sparc
      o A JIT code generation system for x86 and Sparc
      o A C back-end, useful for testing and to support other targets
      o A test framework with a number of benchmark codes and some
            applications
      o APIs and debugging tools to simplify rapid development


WHAT IS NOT INCLUDED IN THIS RELEASE?
      Some components are not yet implemented in LLVM, including array
      dependence analysis, dependence-based transformations, profiling
      support, and a dynamic optimization system. The native code
      generators are not yet competitive with vendor compilers in
      performance.


HOW DO I GET IT?
      Please see: http://llvm.cs.uiuc.edu/releases (*)


-------
(*) Hosted by apache compiled to LLVM and running on the x86 JIT


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.