I'm currently doing some downstream experimentation on support for a broader set of GC types. Some of the options involve changes to the representation of externref and funcref at the IR level, and it seemed cleaner to convert to opaque pointers before further changing these tests. As this is something that needs to be done anyway, I thought I'd share the patch for upstream consideration.
externref-undef.ll is deleted as it's not really testing anything reftype specific.
So the old code used type opaque and the new code just uses ptr? But I take that the ptr is also somehow implicitly "opaque".. otherwise the PR description would not make sense? (Sorry i'm not familiar the opaque pointer stuff).