Beispiel #1
0
void cloneModuleFlagsMetadata(Module &Dst, const Module &Src,
                              ValueToValueMapTy &VMap) {
  auto *MFs = Src.getModuleFlagsMetadata();
  if (!MFs)
    return;
  for (auto *MF : MFs->operands())
    Dst.addModuleFlag(MapMetadata(MF, VMap));
}
Beispiel #2
0
void md::addIncludedFiles(Module& module, const vector<string>& includedFiles)
{
	LLVMContext& ctx = module.getContext();
	SmallVector<Metadata*, 20> mdIncludes;
	for (const auto& file : includedFiles)
	{
		mdIncludes.push_back(MDString::get(ctx, file));
	}
	module.addModuleFlag(Module::AppendUnique, "fcd.includes", MDNode::get(ctx, mdIncludes));
}