[llvm-dev] RFC: Opaque pointer status and future direction

Tim Northover via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 19 11:16:32 PST 2019

On Thu, 19 Dec 2019 at 08:53, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> Can we please have a transition period where those Create* functions
> are marked as LLVM_ATTRIBUTE_DEPRECATED? And same for the
> corresponding C API functions. This would be tremendously helpful for
> out-of-tree frontends that track master.

Yep, that sounds like something we ought to be able to get in by
January so it can be in for a release cycle. I'll add it to my list.

> I think "general encouragement" is too weak here. Getting rid of
> getPointerElementType() seems to me the hardest piece of the puzzle
> because it creates architectural issues in a lot of different places.
> For example, I noticed that some of the sanitizers lean on being able
> to use this function, and this cannot be fixed locally in just the
> backend sanitizer implementation. Our own AMDGPU backend also has some
> issues like that, and I'd expect that more are lurking somewhere.
> Most getPointerElementType() uses seem to be fairly harmless and
> fixable locally, but we need a stronger lever to get those
> architectural issues fixed.

Fair point. I'll try to come up with something a bit more strongly worded.



More information about the llvm-dev mailing list