Turns out that in https://reviews.llvm.org/rG8acdcf4016876d122733991561be706b64026e73 I missed another use case (dynamic_cast relies on typeinfo, which its signature assumed to be in the generic address space), sadly. This patch corrects the oversight and adds an associated test.
P.S.: the current and @bjope 's inquiry on https://reviews.llvm.org/D153092 makes me wonder if we want to consider a more centralised approach to all of the polymorphism related bits, so that future changes can be localised to one / a few spots, and then propagate around. I admit I've not thought deeply about it though and it would probably be non-trivial.