-
This section contains significant known problems with the LLVM system, listed
- by component. If you run into a problem, please check
- the LLVM bug database and submit a bug if
- there isn't already one.
-
-
-
-
-
-
-
The following components of this LLVM release are either untested, known to
- be broken or unreliable, or are in early development. These components
- should not be relied on, and bugs should not be filed against them, but they
- may be useful to some people. In particular, if you would like to work on
- one of these components, please contact us on
- the LLVMdev
- list.
-
-
- - The Alpha, Blackfin, CellSPU, MicroBlaze, MSP430, MIPS, PTX, SystemZ and
- XCore backends are experimental.
-
- - llc "-filetype=obj" is experimental on all targets other
- than darwin and ELF X86 systems.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - The PPC32/ELF support lacks PIC support.
-
-
-
-
-
-
-
-
-
-
- - Thumb mode works only on ARMv6 or higher processors. On sub-ARMv6
- processors, thumb programs can crash or produce wrong results
- (PR1388).
-
- - Compilation for ARM Linux OABI (old ABI) is supported but not fully
- tested.
-
-
-
-
-
-
-
-
-
-
- - The SPARC backend only supports the 32-bit SPARC ABI (-m32); it does not
- support the 64-bit SPARC ABI (-m64).
-
-
-
-
-
-
-
-
-
-
- - 64-bit MIPS targets are not supported yet.
-
-
-
-
-
-
-
-
-
-
- - On 21164s, some rare FP arithmetic sequences which may trap do not have
- the appropriate nops inserted to ensure restartability.
-
-
-
-
-
-
-
-
-
-
The C backend has numerous problems and is not being actively maintained.
- Depending on it for anything serious is not advised.
-
+
LLVM is generally a production quality compiler, and is used by a broad range
+ of applications and shipping in many products. That said, not every
+ subsystem is as mature as the aggregate, particularly the more obscure
+ targets. If you run into a problem, please check the LLVM bug database and submit a bug if
+ there isn't already one or ask on the LLVMdev
+ list.
+
+
Known problem areas include:
+
- - The C backend has only basic support for
- inline assembly code.
-
- - The C backend violates the ABI of common
- C++ programs, preventing intermixing between C++ compiled by the CBE
- and C++ code compiled with llc or native compilers.
-
- - The C backend does not support all exception handling constructs.
-
- - The C backend does not support arbitrary precision integers.
+ - The Alpha, Blackfin, CellSPU, MSP430, PTX, SystemZ and
+ XCore backends are experimental, and several of these have already been
+ removed from mainline.
+
+ - The integrated assembler, disassembler, and JIT is not supported by
+ several targets. If an integrated assembler is not supported, then a
+ system assembler is required. For more details, see the Target Features Matrix.
+
+
+ - The C backend has numerous problems and is not being actively maintained.
+ Depending on it for anything serious is not advised.