Esempio n. 1
0
static DIType createTypeWithFlags(LLVMContext &Context, DIType Ty,
                                  unsigned FlagsToSet) {
  SmallVector<Value *, 9> Elts;
  MDNode *N = Ty;
  assert(N && "Unexpected input DIType!");
  // Update header field.
  Elts.push_back(setTypeFlagsInHeader(Ty.getHeader(), FlagsToSet).get(Context));
  for (unsigned I = 1, E = N->getNumOperands(); I != E; ++I)
    Elts.push_back(N->getOperand(I));

  return DIType(MDNode::get(Context, Elts));
}