New
0.6.0
⚠️ Breaking Changes Ahead ⚠️
- LLVMSwift now enforces deployment target constraints. In the future, we will continue to update this constraint in line with the LLVM homebrew package.
- The
PassPipelineris now provided as an alternative toFunctionPassManager, which may crash if used in many common situations. Please migrate accordingly. - The
FunctionPassManageris now deprecated - Documentation for core components continues to improve
- An analog to LLVM’s infamous target
TripleAPI has been added. APIs that previously dealt with Strings have been updated accordingly - The bindings to ObjectFile were not correct and were not nearly feature-rich enough. The API has been completely overhauled
- The
IRInstructionprotocol has been added to unify instruction values around a common protocol. - Metadata can now be attached to instructions
- The debug location accessor now supports being reset to
nilwithout crashing - DIFile now exposes file metadata, and file metadata now exposes its source text, directory, and name
- The Metadata Builder facility () has been ported from LLVM