LLVM opaque pointer type change in IRGen

Hiya,

Updating one of my PRs to compile locally, I came across this commit: IRGen: Address `llvm::Type::getPointerTo` deprecation · swiftlang/swift@f8577a2 · GitHub

It didn't seem massively obvious to me why the change was being made and how to work in the new world. I found this after a bit of internet hunting: Opaque Pointers — LLVM 22.0.0git documentation

I wondered if there has been any significant discussion of this. I'm not saying it's a bad idea. I'm just trying to understand how things have changed so I can write properly in the new world and fix my PR.

Is this something people in the community generally have been aware of for a while? Or is it more just something that people deeply embedded in the LLVM and Clang world knew, so they suggested we fix it in Swift?

Just curious really. I can probably work stuff out myself but I thought some people might have some useful golden knowledge?

Carl

1 Like