Thread overview
Request for Help: Updating LDC to LLVM 15
Aug 27, 2022
Nicholas Wilson
Aug 31, 2022
test123
Aug 31, 2022
Tejas
Sep 01, 2022
Mike Parker
Sep 01, 2022
Dejan Lekic
Sep 01, 2022
bauss
Sep 03, 2022
Nicholas Wilson
August 27, 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 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

August 31, 2022

On Saturday, 27 August 2022 at 13:27:47 UTC, Nicholas Wilson wrote:

>

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

Thanks for all the hard work put into D open source compiler. I am sorry I can not able to help(dont know C++).

D community get smaller every year. If there is not enough qualified developer maintain LDC, D will disappear soon.

August 31, 2022

On Wednesday, 31 August 2022 at 12:18:51 UTC, test123 wrote:

>

On Saturday, 27 August 2022 at 13:27:47 UTC, Nicholas Wilson wrote:

>

[...]

Thanks for all the hard work put into D open source compiler. I am sorry I can not able to help(dont know C++).

D community get smaller every year. If there is not enough qualified developer maintain LDC, D will disappear soon.

The extremely large number of people that attended dconf this year would beg to differ

September 01, 2022

On Wednesday, 31 August 2022 at 12:18:51 UTC, test123 wrote:

>

D community get smaller every year. If there is not enough qualified developer maintain LDC, D will disappear soon.

LDC has always had fewer contributors than the core D repositories. That's nothing new. It's just that this particular project requires a significant amount of work.

And the D community is getting larger from where I sit. What's shrinking is the ratio of contributors to non-contributors, but that just means we need to get serious about managing available resources. And that's what we're doing. D isn't going to disappear anytime soon.

September 01, 2022

On Wednesday, 31 August 2022 at 12:18:51 UTC, test123 wrote:

>

D community get smaller every year. If there is not enough qualified developer maintain LDC, D will disappear soon.

What a bunch of nonsense...

September 01, 2022

On Wednesday, 31 August 2022 at 12:18:51 UTC, test123 wrote:

>

D community get smaller every year. If there is not enough qualified developer maintain LDC, D will disappear soon.

Source?

September 03, 2022

On Saturday, 27 August 2022 at 13:27:47 UTC, Nicholas Wilson wrote:

>

Hi All

Someone has stepped up: https://github.com/ldc-developers/ldc/pull/4105

Thank you!