The documentation for the Use list waymarking bits says that we use the 2 lsbs of the Prev pointer in Use objects and the lsb of the User object for the special bits. PointerLikeTypeTraits for both of these types indicates they have 3 low bits available on 64-bit targets. We use PointerIntPair which tries to use the highest low bits to store the integer. So we're really using bits 2:1 of Use and bit 2 of User. Should we fix the documentation or override the type traits on these to match the documentation. I'm particularly curious about the "portable trick" mentioned here http://llvm.org/docs/ProgrammersManual.html#tagging-considerations ~Craig -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170322/81d5601d/attachment.html>