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
brew
install locations are now supported by theutils/make-pkgconfig.swift
script (h/t @eonil). DIBuilder
methods now require explicitly-specified alignments. They previously defaulted to 0-alignment, which violates the DWARF standard.- A
sourceFilename
may 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
, andbuildLoad
will 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.buildCompileUnit
now accepts parameters forsysRoot
andsdkRoot
.- Fixed an issue where the
|=
and<<=
operators were inverted forSize
types. - Fixed issues in the behavior of
Alignment.log2
for zero-alignments and 64-bit results.