Request for Help: Updating LDC to LLVM 15

Nicholas Wilson iamthewilsonator at hotmail.com
Sat Aug 27 13:27:47 UTC 2022


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 checklist[1].

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

[1]: https://github.com/ldc-developers/ldc/issues/4042


More information about the Digitalmars-d mailing list