Recent Releases
18.1.121 Mar 2024 13:18
minor feature:
8.0.107 Aug 2019 06:45
minor feature:
Introduction
Minimum Required Compiler Version.
Known.
Non-comprehensive list of changes in this release.. Changes to the LLVM IR. Changes to the JIT APIs. Changes to the C++ APIs. Changes to the AArch64 Target. Changes to the Hexagon Target. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the SystemZ Target. Changes to the X86 Target. Changes to the WebAssembly Target. Changes to the Nios2 Target.
Changes to the LLVM IR.
Changes to the JIT APIs.
Changes to the C++ APIs.
Changes to the AArch64 Target.
Changes to the Hexagon Target.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the SystemZ Target.
Changes to the X86 Target.
Changes to the WebAssembly Target.
Changes to the Nios2 Target.
Changes to LLDB.
External Open Source Projects Using LLVM 8.. LDC - the LLVM-based D compiler. Open Dylan Compiler. Zig Programming Language.
LDC - the LLVM-based D compiler.
Open Dylan Compiler.
Zig Programming Language.
Additional Information.
7.0.112 Jan 2019 15:25
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the LLVM IR. Changes to the AArch64 Target. Changes to the ARM Target. Changes to the Hexagon Target. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the SystemZ Target. Changes to the X86 Target. Changes to the OCaml bindings. Changes to the C API. Changes to the DAG infrastructure.
Changes to the LLVM IR.
Changes to the AArch64 Target.
Changes to the ARM Target.
Changes to the Hexagon Target.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the SystemZ Target.
Changes to the X86 Target.
Changes to the OCaml bindings.
Changes to the C API.
Changes to the DAG infrastructure.
External Open Source Projects Using LLVM 7.. Zig Programming Language.
Zig Programming Language.
Additional Information.
5.0.122 Dec 2017 23:25
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the LLVM IR. Changes to the Arm Targets. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the AMDGPU Target. Changes to the AVR Target. Changes to the C API.
Changes to the LLVM IR.
Changes to the Arm Targets.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the AMDGPU Target.
Changes to the AVR Target.
Changes to the C API.
External Open Source Projects Using LLVM 5.. Zig Programming Language. LDC - the LLVM-based D compiler.
Zig Programming Language.
LDC - the LLVM-based D compiler.
Additional Information.
5.0.009 Sep 2017 06:45
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the LLVM IR. Changes to the Arm Targets. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the AMDGPU Target. Changes to the AVR Target. Changes to the C API.
Changes to the LLVM IR.
Changes to the Arm Targets.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the AMDGPU Target.
Changes to the AVR Target.
Changes to the C API.
External Open Source Projects Using LLVM 5.. Zig Programming Language. LDC - the LLVM-based D compiler.
Zig Programming Language.
LDC - the LLVM-based D compiler.
Additional Information.
4.0.116 Jul 2017 07:25
minor feature:
Introduction
New Versioning Scheme.
Non-comprehensive list of changes in this release.. Improvements to ThinLTO (-flto=thin). LLVM Coroutines. Regcall and Vectorcall Calling Conventions. Code Generation Testing. Intrusive list API overhaul. Changes to the ARM Targets. Changes to the AVR Target. Changes to the MIPS Target. Changes to the X86 Target. Changes to the OCaml bindings.
Improvements to ThinLTO (-flto=thin).
LLVM Coroutines.
Regcall and Vectorcall Calling Conventions.
Code Generation Testing.
Intrusive list API overhaul.
Changes to the ARM Targets.
Changes to the AVR Target.
Changes to the MIPS Target.
Changes to the X86 Target.
Changes to the OCaml bindings.
External Open Source Projects Using LLVM 4.0.0.. LDC - the LLVM-based D compiler. Portable Computing Language (pocl). TTA-based Co-design Environment (TCE).
LDC - the LLVM-based D compiler.
Portable Computing Language (pocl).
TTA-based Co-design Environment (TCE).
Additional Information.
4.0.015 Mar 2017 03:05
minor feature:
Introduction
New Versioning Scheme.
Non-comprehensive list of changes in this release.. Improvements to ThinLTO (-flto=thin). LLVM Coroutines. Regcall and Vectorcall Calling Conventions. Code Generation Testing. Intrusive list API overhaul. Changes to the ARM Targets. Changes to the AVR Target. Changes to the MIPS Target. Changes to the X86 Target. Changes to the OCaml bindings.
Improvements to ThinLTO (-flto=thin).
LLVM Coroutines.
Regcall and Vectorcall Calling Conventions.
Code Generation Testing.
Intrusive list API overhaul.
Changes to the ARM Targets.
Changes to the AVR Target.
Changes to the MIPS Target.
Changes to the X86 Target.
Changes to the OCaml bindings.
External Open Source Projects Using LLVM 4.0.0.. LDC - the LLVM-based D compiler. Portable Computing Language (pocl). TTA-based Co-design Environment (TCE).
LDC - the LLVM-based D compiler.
Portable Computing Language (pocl).
TTA-based Co-design Environment (TCE).
Additional Information.
3.9.125 Dec 2016 23:25
minor feature:
Introduction
Non-comprehensive list of changes in this release.. GCC ABI Tag. Changes to the LLVM IR. Changes to LLVM s IPO model. Support for ThinLTO. Changes to the ARM Targets. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the AMDGPU Target.
GCC ABI Tag.
Changes to the LLVM IR.
Changes to LLVM s IPO model.
Support for ThinLTO.
Changes to the ARM Targets.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the AMDGPU Target.
External Open Source Projects Using LLVM 3.9.. LDC - the LLVM-based D compiler.
LDC - the LLVM-based D compiler.
Additional Information.
3.9.005 Sep 2016 01:45
minor feature:
Introduction
Non-comprehensive list of changes in this release.. GCC ABI Tag. Changes to the LLVM IR. Changes to LLVM s IPO model. Support for ThinLTO. Changes to the ARM Targets. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the AMDGPU Target.
GCC ABI Tag.
Changes to the LLVM IR.
Changes to LLVM s IPO model.
Support for ThinLTO.
Changes to the ARM Targets.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the AMDGPU Target.
External Open Source Projects Using LLVM 3.9.. LDC - the LLVM-based D compiler.
LDC - the LLVM-based D compiler.
Additional Information.
3.8.113 Jul 2016 23:05
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the ARM Backends. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the Hexagon Target. Changes to the AVR Target. Changes to the OCaml bindings.
Changes to the ARM Backends.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the Hexagon Target.
Changes to the AVR Target.
Changes to the OCaml bindings.
External Open Source Projects Using LLVM 3.8.. LDC - the LLVM-based D compiler.
LDC - the LLVM-based D compiler.
Additional Information.
3.8.009 Mar 2016 18:45
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the ARM Backends. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the X86 Target. Changes to the Hexagon Target. Changes to the AVR Target. Changes to the OCaml bindings.
Changes to the ARM Backends.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the X86 Target.
Changes to the Hexagon Target.
Changes to the AVR Target.
Changes to the OCaml bindings.
External Open Source Projects Using LLVM 3.8.. LDC - the LLVM-based D compiler.
LDC - the LLVM-based D compiler.
Additional Information.
3.7.116 Jan 2016 11:45
minor feature:
Introduction
Major changes in 3.7.1.
Non-comprehensive list of changes in 3.7.0.. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the SystemZ Target. Changes to the JIT APIs.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the SystemZ Target.
Changes to the JIT APIs.
Sub-project Status Update.. Polly - The Polyhedral Loop Optimizer in LLVM. libunwind.
Polly - The Polyhedral Loop Optimizer in LLVM.
libunwind.
External Open Source Projects Using LLVM 3.7.. LDC - the LLVM-based D compiler. Portable Computing Language (pocl). TTA-based Co-design Environment (TCE). BPF Compiler Collection (BCC). LLVMSharp amp; ClangSharp.
LDC - the LLVM-based D compiler.
Portable Computing Language (pocl).
TTA-based Co-design Environment (TCE).
BPF Compiler Collection (BCC).
LLVMSharp amp; ClangSharp.
Additional Information.
3.7.002 Sep 2015 17:25
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the MIPS Target. Changes to the PowerPC Target. Changes to the SystemZ Target. Changes to the JIT APIs.
Changes to the MIPS Target.
Changes to the PowerPC Target.
Changes to the SystemZ Target.
Changes to the JIT APIs.
Sub-project Status Update.. Polly - The Polyhedral Loop Optimizer in LLVM.
Polly - The Polyhedral Loop Optimizer in LLVM.
External Open Source Projects Using LLVM 3.7.. LDC - the LLVM-based D compiler. Portable Computing Language (pocl). TTA-based Co-design Environment (TCE). BPF Compiler Collection (BCC). LLVMSharp amp; ClangSharp.
LDC - the LLVM-based D compiler.
Portable Computing Language (pocl).
TTA-based Co-design Environment (TCE).
BPF Compiler Collection (BCC).
LLVMSharp amp; ClangSharp.
Additional Information.
3.6.217 Jul 2015 16:05
minor feature:
Introduction
Non-comprehensive list of changes in this release.. Changes to the MIPS Target.
Changes to the MIPS Target.
Non-comprehensive list of changes in 3.6.0.. Prefix data rework. Metadata is not a Value.. Bridges between Value and Metadata. Metadata is typeless. Distinct metadata nodes. Constructing cyclic graphs. MDLocation (aka DebugLoc aka DILocation).
Alias syntax change. The old JIT has been removed. object::Binary doesn t own the file buffer. IR in object files is now supported. The gold plugin has been rewritten. Change in the representation of lazy loaded funcs. The opt option -std-compile-opts was removed. Python 2.7 is now required. The leak detector has been removed. New comdat syntax. Added support for Win64 unwind information. Diagnostic infrastructure used by lib/Linker and lib/Bitcode. The PreserveSource linker mode was removed. Garbage Collection. Changes to the MIPS Target.. ABI. LLVMLinux. Miscellaneous.
Changes to the PowerPC Target. Changes to the OCaml bindings. Go bindings.
Prefix data rework.
Metadata is not a Value.. Bridges between Value and Metadata. Metadata is typeless. Distinct metadata nodes. Constructing cyclic graphs. MDLocation (aka DebugLoc aka DILocation).
Bridges between Value and Metadata.
Metadata is typeless.
Distinct metadata nodes.
Constructing cyclic graphs.
MDLocation (aka DebugLoc aka DILocation).
Alias syntax change.
The old JIT has been removed.
object::Binary doesn t own the file buffer.
IR in object files is now supported.
The gold plugin has been rewritten.
Change in the representation of lazy loaded funcs.
The opt option -std-compile-opts was removed.
Python 2.7 is now required.
The leak detector has been removed.
New comdat syntax.
Added support for Win64 unwind information.
Diagnostic infrastructure used by lib/Linker and lib/Bitcode.
The PreserveSource linker mode was removed.
Garbage Collection.
Changes to the MIPS Target.. ABI. LLVMLinux. Miscellaneous.
ABI.
LLVMLinux.
Miscellaneous.
Changes to the PowerP
3.6.028 Feb 2015 22:00
minor feature:
Introduction
Non-comprehensive list of changes in this release
Prefix data rework
Metadata is not a ValueBridges between Value and Metadata
Metadata is typeless
Distinct metadata nodes
Constructing cyclic graphs
MDLocation (aka DebugLoc aka DILocation)
Alias syntax change
The old JIT has been removed
object::Binary doesn t own the file buffer
IR in object files is now supported
The gold plugin has been rewritten
Change in the representation of lazy loaded funcs
The opt option -std-compile-opts was removed
Python 2.7 is now required
The leak detector has been removed
New comdat syntax
Added support for Win64 unwind information
Diagnostic infrastructure used by lib/Linker and lib/Bitcode
The PreserveSource linker mode was removed
Garbage Collection
Changes to the MIPS TargetABI
LLVMLinux
Miscellaneous
Changes to the PowerPC Target
Changes to the OCaml bindings
Go bindings
Prefix data rework
Metadata is not a Value
Bridges between Value and Metadata
Metadata is typeless
Distinct metadata nodes
Constructing cyclic graphs
MDLocation (aka DebugLoc aka DILocation)
Bridges between Value and Metadata
Metadata is typeless
Distinct metadata nodes
Constructing cyclic graphs
MDLocation (aka DebugLoc aka DILocation)
Alias syntax change
The old JIT has been removed
object::Binary doesn t own the file buffer
IR in object files is now supported
The gold plugin has been rewritten
Change in the representation of lazy loaded funcs
The opt option -std-compile-opts was removed
Python 2.7 is now required
The leak detector has been removed
New comdat syntax
Added support for Win64 unwind information
Diagnostic infrastructure used by lib/Linker and lib/Bitcode
The PreserveSource linker mode was removed
Garbage Collection
Changes to the MIPS Target
ABI
LLVMLinux
Miscellaneous
ABI
LLVMLinux
Miscellaneous
Changes to the PowerPC Target
Changes to the OCaml bindings
Go bindings
External Open Source Projects Using LLVM 3.6
Portable Computing Language (pocl)
TTA-based Co-design Environment (TCE)
L
3.5.118 Feb 2015 08:05
minor feature:
Introduction
Non-comprehensive list of changes in this release
Changes to the MIPS Target
Changes to the MIPS Target
Non-comprehensive list of changes in 3.5
Changes to the ARM Backend
Changes to the MIPS TargetSubtargets
ABI and ABI extensions
Integrated Assembler
Changes to the AArch64 TargetBackground
Changes to the PowerPC Target
Changes to CMake build system
Changes to the ARM Backend
Changes to the MIPS Target
Subtargets
ABI and ABI extensions
Integrated Assembler
Subtargets
ABI and ABI extensions
Integrated Assembler
Changes to the AArch64 Target
Background
Background
Changes to the PowerPC Target
Changes to CMake build system
External Open Source Projects Using LLVM 3.5
LDC - the LLVM-based D compiler
Portable Computing Language (pocl)
TTA-based Co-design Environment (TCE)
ISPC
Likely
LDC - the LLVM-based D compiler
Portable Computing Language (pocl)
TTA-based Co-design Environment (TCE)
ISPC
Likely
Additional Information
3.5.004 Sep 2014 22:03
major feature:
All backends have been changed to use the MC asm printer and support for the non MC one has been removed.
Clang can now successfully self-host itself on Linux/Sparc64 and on FreeBSD/Sparc64.
LLVM now assumes the assembler supports .loc for generating debug line numbers. The old support for printing the debug line info directly was only used by llc and has been removed.
All inline assembly is parsed by the integrated assembler when it is enabled. Previously this was only the case for object-file output. It is now the case for assembly output as well. The integrated assembler can be disabled with the -no-integrated-as option.
llvm-ar now handles IR files like regular object files. In particular, a regular symbol table is created for symbols defined in IR files, including those in file scope inline assembly.
LLVM now always uses cfi directives for producing most stack unwinding information.
The prefix for loop vectorizer hint metadata has been changed from llvm.vectorizer to llvm.loop.vectorize. In addition, llvm.vectorizer.unroll metadata has been renamed llvm.loop.interleave.count.
Some backends previously implemented Atomic NAND(x,y) as x y. Now all backends implement it as (x y), matching the semantics of GCC 4.4 and later.