[llvm-dev] Using "opaque pointers" right now?

Christoffer Lernö via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 17 00:22:15 PST 2019

> pointers. If you're writing a front-end this probably means you need
> to keep your AST's representation of element types alongside LLVM
> pointer Values in your own data-structures

Yeah, that’s no problem - the type is needed for signed/unsigned integer distinctions anyway. There’s no getting around having one’s own type hierarchy.

>> And also - is it possible to use something like opaque pointers (that is using a single pointer type) even before the switch has been flipped in LLVM?
> Not in current LLVM. I have a branch that has some work on them.

Anything I could have a look at to get a sneak peek?

> I’ve been meaning to upload, document and propose a real path forwards on
> llvm-dev but other things have gotten in the way up to now. I think
> there's quite a bit of infrastructure work just to make the bitcode
> and IR layers accept opaque pointers, and after that many passes and
> other components assert when they first encounter an opaque pointer.

Interesting. Is there a timeline for this or is it more of a ”it’s done when it’s done”?


More information about the llvm-dev mailing list