In Julia’s use of LLVM, we were naming TBAA nodes with logic like this for LLVM 3.3:
static MDNode *tbaa_make_child( const char *name, MDNode *parent, bool isConstant=false )
MDNode *n = mbuilder->createTBAANode(name,parent,isConstant);
n->setValueName( ValueName::Create(name, name+strlen(name)));
The names would show up in dumps of the IR (e.g. “call F.dump()” from gdb) , which was really handy for debugging. But with LLVM 3.6’s split of Value and MDNode, the naming facility seems to have disappeared. Is there a way with LLVM 3.6 or later to name MDNodes in a way that will show up in IR dumps?