Hi All
LLVM 15 has changed the API quite significantly, mostly with the transition to opaque pointer types which pushes the onus of keeping track of what types are loaded to the driver (i.e. LDC), and in order to update I've put together a checklist1.
As the reacting required touches a large number of site but is it otherwise mostly the same set of changes, with replacing loads which rely on LLVM for type information, with typed loads derived from the D types. However these changes are different enough that each call site requires individual analysis.
This has been quite a slog so far and I'd like to solicit the time of anyone interested in helping and/or learning the LDC codebase (for this it's mostly DMD's Type class hierarchy, LDC's LLVM IR generations, and the interface of LLVM).
I'll be available on the beerconf jitsi for most of the weekend as well as the discord to provide more details and directions.
Many thanks,
Nic