}
llvm::MDBuilder MDHelper(getLLVMContext());
- return MDHelper.CreateRange(Min, End);
+ return MDHelper.createRange(Min, End);
}
llvm::Value *CodeGenFunction::EmitLoadOfScalar(llvm::Value *Addr, bool Volatile,
if (Accuracy == 0.0 || !isa<llvm::Instruction>(Val))
return;
- llvm::Value *ULPs = llvm::ConstantFP::get(Builder.getFloatTy(), Accuracy);
- llvm::MDNode *Node = llvm::MDNode::get(getLLVMContext(), ULPs);
+ llvm::MDBuilder MDHelper(getLLVMContext());
+ llvm::MDNode *Node = MDHelper.createFPMath(Accuracy);
cast<llvm::Instruction>(Val)->setMetadata(llvm::LLVMContext::MD_fpmath, Node);
}
// (or a different version of this front-end), their TBAA trees will
// remain distinct, and the optimizer will treat them conservatively.
if (!Root)
- Root = MDHelper.CreateTBAARoot("Simple C/C++ TBAA");
+ Root = MDHelper.createTBAARoot("Simple C/C++ TBAA");
return Root;
}
// these special powers only cover user-accessible memory, and doesn't
// include things like vtables.
if (!Char)
- Char = MDHelper.CreateTBAANode("omnipotent char", getRoot());
+ Char = MDHelper.createTBAANode("omnipotent char", getRoot());
return Char;
}
// "underlying types".
default:
return MetadataCache[Ty] =
- MDHelper.CreateTBAANode(BTy->getName(Features), getChar());
+ MDHelper.createTBAANode(BTy->getName(Features), getChar());
}
}
// TODO: Implement C++'s type "similarity" and consider dis-"similar"
// pointers distinct.
if (Ty->isPointerType())
- return MetadataCache[Ty] = MDHelper.CreateTBAANode("any pointer",
+ return MetadataCache[Ty] = MDHelper.createTBAANode("any pointer",
getChar());
// Enum types are distinct types. In C++ they have "underlying types",
llvm::raw_svector_ostream Out(OutName);
MContext.mangleCXXRTTIName(QualType(ETy, 0), Out);
Out.flush();
- return MetadataCache[Ty] = MDHelper.CreateTBAANode(OutName, getChar());
+ return MetadataCache[Ty] = MDHelper.createTBAANode(OutName, getChar());
}
// For now, handle any other kind of type conservatively.
}
llvm::MDNode *CodeGenTBAA::getTBAAInfoForVTablePtr() {
- return MDHelper.CreateTBAANode("vtable pointer", getRoot());
+ return MDHelper.createTBAANode("vtable pointer", getRoot());
}