It would be great to get rid of the second read for the target of a pointer for times when you have no need to acquire the address. This would be entirely optional and require that we store the address of every read into the target object, so that on writebacks we can keep the pointer valid. If we do not writeback the address, we could instead have the pointer write be skipped? Many things to consider however I think it is worth the effort.