LLVMSwift now tracks LLVM 11.0.
- Minimum tools versions have been bumped to LLVM 11.0 and Swift tools 5.2 (h/t @twof & @ThatsJustCheesy).
- Non-default brewinstall locations are now supported by theutils/make-pkgconfig.swiftscript (h/t @eonil).
- DIBuildermethods now require explicitly-specified alignments. They previously defaulted to 0-alignment, which violates the DWARF standard.
- A sourceFilenamemay now be set on aModule. This value still defaults to the value ofname. (h/t @ColMcp)
- In accordance with recent LLVM changes, alignments of 0 (the default) passed to IRBuilder'sbuildAlloca,buildStore, andbuildLoadwill result in the target choosing a default alignment that is convenient and compatible with the type. This will impact output IR files, which previously left out default aligns altogether.
- Per LLVM 10.0, unnamed function arguments now get printed with their automatically generated name (e.g. “i32 %0”) in IR function definitions.
- DIBuilder.buildCompileUnitnow accepts parameters for- sysRootand- sdkRoot.
- Fixed an issue where the |=and<<=operators were inverted forSizetypes.
- Fixed issues in the behavior of Alignment.log2for zero-alignments and 64-bit results.