Hardware
--------
-LLVM is known to work on the following platforms:
+LLVM is known to work on the following host platforms:
+-----------------+----------------------+-------------------------+
|OS | Arch | Compilers |
+=================+======================+=========================+
|AuroraUX | x86\ :sup:`1` | GCC |
+-----------------+----------------------+-------------------------+
-|Linux | x86\ :sup:`1` | GCC |
+|Linux | x86\ :sup:`1` | GCC, Clang |
+-----------------+----------------------+-------------------------+
-|Linux | amd64 | GCC |
+|Linux | amd64 | GCC, Clang |
+-----------------+----------------------+-------------------------+
-|Linux | ARM\ :sup:`13` | GCC |
+|Linux | ARM\ :sup:`4` | GCC, Clang |
++-----------------+----------------------+-------------------------+
+|Linux | PowerPC | GCC, Clang |
+-----------------+----------------------+-------------------------+
|Solaris | V9 (Ultrasparc) | GCC |
+-----------------+----------------------+-------------------------+
-|FreeBSD | x86\ :sup:`1` | GCC |
+|FreeBSD | x86\ :sup:`1` | GCC, Clang |
+-----------------+----------------------+-------------------------+
-|FreeBSD | amd64 | GCC |
+|FreeBSD | amd64 | GCC, Clang |
+-----------------+----------------------+-------------------------+
|MacOS X\ :sup:`2`| PowerPC | GCC |
+-----------------+----------------------+-------------------------+
-|MacOS X\ :sup:`9`| x86 | GCC |
+|MacOS X | x86 | GCC, Clang |
+-----------------+----------------------+-------------------------+
-|Cygwin/Win32 | x86\ :sup:`1, 8, 11` | GCC 3.4.X, binutils 2.20|
+|Cygwin/Win32 | x86\ :sup:`1, 3` | GCC |
++-----------------+----------------------+-------------------------+
+|Windows | x86\ :sup:`1` | Visual Studio |
++-----------------+----------------------+-------------------------+
+|Windows x64 | x86-64 | Visual Studio |
+-----------------+----------------------+-------------------------+
-
-LLVM has partial support for the following platforms:
-
-+-------------------+----------------------+-------------------------------------------+
-|OS | Arch | Compilers |
-+===================+======================+===========================================+
-| Windows | x86\ :sup:`1` | Visual Studio 2000 or higher\ :sup:`4,5` |
-+-------------------+----------------------+-------------------------------------------+
-| AIX\ :sup:`3,4` | PowerPC | GCC |
-+-------------------+----------------------+-------------------------------------------+
-| Linux\ :sup:`3,5` | PowerPC | GCC |
-+-------------------+----------------------+-------------------------------------------+
-| Linux\ :sup:`7` | Alpha | GCC |
-+-------------------+----------------------+-------------------------------------------+
-| Linux\ :sup:`7` | Itanium (IA-64) | GCC |
-+-------------------+----------------------+-------------------------------------------+
-| HP-UX\ :sup:`7` | Itanium (IA-64) | HP aCC |
-+-------------------+----------------------+-------------------------------------------+
-| Windows x64 | x86-64 | mingw-w64's GCC-4.5.x\ :sup:`12` |
-+-------------------+----------------------+-------------------------------------------+
.. note::
#. Code generation supported for Pentium processors and up
#. Code generation supported for 32-bit ABI only
- #. No native code generation
- #. Build is not complete: one or more tools do not link or function
- #. The GCC-based C/C++ frontend does not build
- #. The port is done using the MSYS shell.
- #. Native code generation exists but is not complete.
- #. Binutils 2.20 or later is required to build the assembler generated by LLVM properly.
- #. Xcode 2.5 and gcc 4.0.1 (Apple Build 5370) will trip internal LLVM assert
- messages when compiled for Release at optimization levels greater than 0
- (i.e., ``-O1`` and higher). Add ``OPTIMIZE_OPTION="-O0"`` to the build
- command line if compiling for LLVM Release or bootstrapping the LLVM
- toolchain.
- #. For MSYS/MinGW on Windows, be sure to install the MSYS version of the perl
- package, and be sure it appears in your path before any Windows-based
- versions such as Strawberry Perl and ActivePerl, as these have
- Windows-specifics that will cause the build to fail.
#. To use LLVM modules on Win32-based system, you may configure LLVM
with ``--enable-shared``.
- #. To compile SPU backend, you need to add ``LDFLAGS=-Wl,--stack,16777216`` to
- configure.
#. MCJIT not working well pre-v7, old JIT engine not supported any more.
Note that you will need about 1-3 GB of space for a full LLVM build in Debug