The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.
This page describes the port of LLVM for the OpenRISC 1000 architecture.
Further generic information on the LLVM project's webpage.
The most up-to-date development currently takes place at https://github.com/skristiansson.
In order to be able to compile C/C++ programs, two components are required, Clang and LLVM.
Start with checking out LLVM
git clone git://github.com/skristiansson/llvm-or1k.git
git clone git://github.com/skristiansson/clang-or1k.git
Clang is held in it's own repository as it is a seperate project from LLVM, but is meant to be built together with LLVM in the LLVM tree.
Create a symlink to the checked out Clang repository in the LLVM tree
cd llvm-or1k/tools/ ln -s ../../clang-or1k/ clang
go back to the top directory where you you checked out Clang and LLVM and create a build directory
cd ../../ mkdir build cd build
LLVM has support for both autotools and cmake based configuration, use the one that suits you best.
cmake ../llvm-or1k -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/path/to/instdir
../llvm-or1k/configure CC=gcc CXX=g++ --enable-debug-runtime --prefix=/path/to/instdir
and finally build and install