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 forsysRootandsdkRoot.- Fixed an issue where the
|=and<<=operators were inverted forSizetypes. - Fixed issues in the behavior of
Alignment.log2for zero-alignments and 64-bit results.