Opaque pointers status


I got slightly annoyed with many unnecessary pointer bitcasts while writing some tests and was wondering about the status of opaque pointer types. It looks like the last major update was https://lists.llvm.org/pipermail/llvm-dev/2019-December/137684.html (sorry I couldn’t respond to that thread since it’s not in my inbox).

Apparently Tim had a stack of patches which I see in GitHub. Are those still mostly relevant?

Should we add the opaque pointer type itself now to experiment with?

+a few other folks who've contributed some pieces of the opaque
pointer work in recent times

I'd be curious to hear from Tim too, for sure - but otherwise, yeah,
if there's a patch from his series that adds an opaque pointer type
I'd be up for trying to throw that in & start experimenting with it.
(copying some thoughts I had in an offline discussion: Add the opaque
pointer type, add tests with function parameters of the opaque pointer
type and using it as input to various instructions - check that all
works, then the hard part of changing the result of various/all LLVM
instructions to produce the opaque pointer type (try that initially
purely out-of-tree/locally, and any place where it breaks because
something can't consume an opaque pointer typed value, we go add a
test using the function parameter source of opaque pointer values...