MDNode *MDNode::getTemporary(LLVMContext &Context, ArrayRef<Value*> Vals) { MDNode *N = (MDNode *)malloc(sizeof(MDNode) + Vals.size() * sizeof(MDNodeOperand)); N = new (N) MDNode(Context, Vals, FL_No); N->setValueSubclassData(N->getSubclassDataFromValue() | NotUniquedBit); LeakDetector::addGarbageObject(N); return N; }