reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
include/llvm/IR/GlobalObject.h
  121   Comdat *getComdat() { return ObjComdat; }
  122   void setComdat(Comdat *C) { ObjComdat = C; }
  123 
include/llvm/MC/MCSymbolWasm.h
   70   bool isComdat() const { return IsComdat; }
   71   void setComdat(bool isComdat) { IsComdat = isComdat; }
   72 
bindings/go/llvm/ir.go
 1111 func (v Value) Comdat() (c Comdat) { c.C = C.LLVMGetComdat(v.C); return }
 1112 func (v Value) SetComdat(c Comdat) { C.LLVMSetComdat(v.C, c.C) }
 1113 
bindings/go/llvm/ir.go
 1118 func (c Comdat) SetSelectionKind(k ComdatSelectionKind) {
 1119 	C.LLVMSetComdatSelectionKind(c.C, (C.LLVMComdatSelectionKind)(k))
 1120 }
include/llvm-c/Comdat.h
   52  *
   53  * @see llvm::GlobalObject::setComdat()
   54  */
include/llvm-c/Comdat.h
   54  */
   55 void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C);
   56 
include/llvm-c/Comdat.h
   68  */
   69 void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
   70 
include/llvm/IR/GlobalObject.h
  121   Comdat *getComdat() { return ObjComdat; }
  122   void setComdat(Comdat *C) { ObjComdat = C; }
  123 
include/llvm/MC/MCSymbolWasm.h
   70   bool isComdat() const { return IsComdat; }
   71   void setComdat(bool isComdat) { IsComdat = isComdat; }
   72 
lib/AsmParser/LLParser.cpp
 1135       if (C)
 1136         GV->setComdat(C);
 1137       else
lib/AsmParser/LLParser.cpp
 5498   Fn->setPartition(Partition);
 5499   Fn->setComdat(C);
 5500   Fn->setPersonalityFn(PersonalityFn);
lib/Bitcode/Reader/BitcodeReader.cpp
 2026       if (TT.supportsCOMDAT())
 2027         GO->setComdat(TheModule->getOrInsertComdat(V->getName()));
 2028       else
lib/Bitcode/Reader/BitcodeReader.cpp
 2028       else
 2029         GO->setComdat(nullptr);
 2030     }
lib/Bitcode/Reader/BitcodeReader.cpp
 3168         return error("Invalid global variable comdat ID");
 3169       NewGV->setComdat(ComdatList[ComdatID - 1]);
 3170     }
lib/Bitcode/Reader/BitcodeReader.cpp
 3171   } else if (hasImplicitComdat(RawLinkage)) {
 3172     NewGV->setComdat(reinterpret_cast<Comdat *>(1));
 3173   }
lib/Bitcode/Reader/BitcodeReader.cpp
 3279         return error("Invalid function comdat ID");
 3280       Func->setComdat(ComdatList[ComdatID - 1]);
 3281     }
lib/Bitcode/Reader/BitcodeReader.cpp
 3282   } else if (hasImplicitComdat(RawLinkage)) {
 3283     Func->setComdat(reinterpret_cast<Comdat *>(1));
 3284   }
lib/CodeGen/LowerEmuTLS.cpp
   45     if (from->hasComdat()) {
   46       to->setComdat(M.getOrInsertComdat(to->getName()));
   47       to->getComdat()->setSelectionKind(from->getComdat()->getSelectionKind());
lib/IR/Comdat.cpp
   36 
   37 void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C) {
   38   GlobalObject *G = unwrap<GlobalObject>(V);
lib/IR/Comdat.cpp
   38   GlobalObject *G = unwrap<GlobalObject>(V);
   39   G->setComdat(unwrap(C));
   40 }
lib/IR/Comdat.cpp
   57 
   58 void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind kind) {
   59   Comdat *Cd = unwrap(C);
lib/LTO/LTO.cpp
  654   if (auto GO = dyn_cast<GlobalObject>(&GV))
  655     GO->setComdat(nullptr);
  656 }
lib/LTO/LTO.cpp
  745           NonPrevailingComdats.insert(GV->getComdat());
  746         cast<GlobalObject>(GV)->setComdat(nullptr);
  747       }
lib/Linker/IRMover.cpp
 1014         DC->setSelectionKind(SC->getSelectionKind());
 1015         GO->setComdat(DC);
 1016       }
lib/MC/MCContext.cpp
  500     GroupSym = cast<MCSymbolWasm>(getOrCreateSymbol(Group));
  501     GroupSym->setComdat(true);
  502   }
lib/ProfileData/InstrProf.cpp
 1145     IRLevelVersionVariable->setLinkage(GlobalValue::ExternalLinkage);
 1146     IRLevelVersionVariable->setComdat(M.getOrInsertComdat(VarName));
 1147   }
lib/ProfileData/InstrProf.cpp
 1161     ProfileNameVar->setLinkage(GlobalValue::ExternalLinkage);
 1162     ProfileNameVar->setComdat(M.getOrInsertComdat(
 1163         StringRef(INSTR_PROF_QUOTE(INSTR_PROF_PROFILE_NAME_VAR))));
lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
  366   NewFunc->copyAttributesFrom(&F);
  367   NewFunc->setComdat(F.getComdat());
  368 
lib/Target/X86/X86RetpolineThunks.cpp
  203   F->setVisibility(GlobalValue::HiddenVisibility);
  204   F->setComdat(M.getOrInsertComdat(Name));
  205 
lib/Target/X86/X86WinEHState.cpp
  406   if (auto *C = ParentFunc->getComdat())
  407     Trampoline->setComdat(C);
  408   BasicBlock *EntryBB = BasicBlock::Create(Context, "entry", Trampoline);
lib/Transforms/IPO/DeadArgumentElimination.cpp
  167   NF->copyAttributesFrom(&Fn);
  168   NF->setComdat(Fn.getComdat());
  169   Fn.getParent()->getFunctionList().insert(Fn.getIterator(), NF);
lib/Transforms/IPO/DeadArgumentElimination.cpp
  866   NF->copyAttributesFrom(F);
  867   NF->setComdat(F->getComdat());
  868   NF->setAttributes(NewPAL);
lib/Transforms/IPO/ExtractGV.cpp
   98           I->setInitializer(nullptr);
   99           I->setComdat(nullptr);
  100         }
lib/Transforms/IPO/ExtractGV.cpp
  116           F.deleteBody();
  117           F.setComdat(nullptr);
  118         }
lib/Transforms/IPO/FunctionImport.cpp
  915     F->clearMetadata();
  916     F->setComdat(nullptr);
  917   } else if (GlobalVariable *V = dyn_cast<GlobalVariable>(&GV)) {
lib/Transforms/IPO/FunctionImport.cpp
  920     V->clearMetadata();
  921     V->setComdat(nullptr);
  922   } else {
lib/Transforms/IPO/FunctionImport.cpp
  995     if (GO && GO->isDeclarationForLinker() && GO->hasComdat())
  996       GO->setComdat(nullptr);
  997   };
lib/Transforms/IPO/Internalize.cpp
  119     if (auto GO = dyn_cast<GlobalObject>(&GV))
  120       GO->setComdat(nullptr);
  121 
lib/Transforms/IPO/LowerTypeTests.cpp
 1914           F->deleteBody();
 1915           F->setComdat(nullptr);
 1916           F->clearMetadata();
lib/Transforms/IPO/MergeFunctions.cpp
  698                             G->getAddressSpace(), "", G->getParent());
  699     NewG->setComdat(G->getComdat());
  700     BB = BasicBlock::Create(F->getContext(), "", NewG);
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
   76         if (Replacement != RenamedComdats.end())
   77           GO.setComdat(Replacement->second);
   78       }
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  293       F.setLinkage(GlobalValue::AvailableExternallyLinkage);
  294       F.setComdat(nullptr);
  295     }
lib/Transforms/IPO/WholeProgramDevirt.cpp
  952           if (GO.getComdat() == C)
  953             GO.setComdat(NewC);
  954       }
lib/Transforms/IPO/WholeProgramDevirt.cpp
 1515   NewGV->setSection(B.GV->getSection());
 1516   NewGV->setComdat(B.GV->getComdat());
 1517   NewGV->setAlignment(MaybeAlign(B.GV->getAlignment()));
lib/Transforms/Instrumentation/AddressSanitizer.cpp
  786                                        StringRef OriginalName);
  787   void SetComdatForGlobalMetadata(GlobalVariable *G, GlobalVariable *Metadata,
  788                                   StringRef InternalSuffix);
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 1979 // that the metadata is discarded if the instrumented global is discarded.
 1980 void ModuleAddressSanitizer::SetComdatForGlobalMetadata(
 1981     GlobalVariable *G, GlobalVariable *Metadata, StringRef InternalSuffix) {
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2007     }
 2008     G->setComdat(C);
 2009   }
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2011   assert(G->hasComdat());
 2012   Metadata->setComdat(G->getComdat());
 2013 }
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2058 
 2059     SetComdatForGlobalMetadata(G, Metadata, "");
 2060   }
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2077 
 2078     SetComdatForGlobalMetadata(G, Metadata, UniqueModuleId);
 2079   }
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2292     NewGlobal->copyAttributesFrom(G);
 2293     NewGlobal->setComdat(G->getComdat());
 2294     NewGlobal->setAlignment(MaybeAlign(MinRZ));
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2453   if (UseCtorComdat && TargetTriple.isOSBinFormatELF() && CtorComdat) {
 2454     AsanCtorFunction->setComdat(M.getOrInsertComdat(kAsanModuleCtorName));
 2455     appendToGlobalCtors(M, AsanCtorFunction, Priority, AsanCtorFunction);
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 2456     if (AsanDtorFunction) {
 2457       AsanDtorFunction->setComdat(M.getOrInsertComdat(kAsanModuleDtorName));
 2458       appendToGlobalDtors(M, AsanDtorFunction, Priority, AsanDtorFunction);
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  403               Comdat *CtorComdat = M.getOrInsertComdat(kHwasanModuleCtorName);
  404               Ctor->setComdat(CtorComdat);
  405               appendToGlobalCtors(M, Ctor, 0, Ctor);
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1301     auto *SizeAndTag = ConstantInt::get(Int32Ty, Size | (uint32_t(Tag) << 24));
 1302     Descriptor->setComdat(NewGV->getComdat());
 1303     Descriptor->setInitializer(ConstantStruct::getAnon({GVRelPtr, SizeAndTag}));
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1371   Note->setSection(".note.hwasan.globals");
 1372   Note->setComdat(NoteComdat);
 1373   Note->setAlignment(Align(4));
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1396   Dummy->setSection("hwasan_globals");
 1397   Dummy->setComdat(NoteComdat);
 1398   Dummy->setMetadata(LLVMContext::MD_associated,
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1476       ThunkFn->setVisibility(GlobalValue::HiddenVisibility);
 1477       ThunkFn->setComdat(M.getOrInsertComdat(ThunkName));
 1478     }
lib/Transforms/Instrumentation/InstrProfiling.cpp
  770   }
  771   auto MaybeSetComdat = [=](GlobalVariable *GV) {
  772     if (NeedComdat)
lib/Transforms/Instrumentation/InstrProfiling.cpp
  772     if (NeedComdat)
  773       GV->setComdat(M->getOrInsertComdat(GV->getName()));
  774   };
lib/Transforms/Instrumentation/InstrProfiling.cpp
  788   CounterPtr->setAlignment(Align(8));
  789   MaybeSetComdat(CounterPtr);
  790   CounterPtr->setLinkage(Linkage);
lib/Transforms/Instrumentation/InstrProfiling.cpp
  810       ValuesVar->setAlignment(Align(8));
  811       MaybeSetComdat(ValuesVar);
  812       ValuesPtrExpr =
lib/Transforms/Instrumentation/InstrProfiling.cpp
  843   Data->setAlignment(Align(INSTR_PROF_DATA_ALIGNMENT));
  844   MaybeSetComdat(Data);
  845   Data->setLinkage(Linkage);
lib/Transforms/Instrumentation/InstrProfiling.cpp
 1004   if (TT.supportsCOMDAT())
 1005     User->setComdat(M->getOrInsertComdat(User->getName()));
 1006 
lib/Transforms/Instrumentation/Instrumentation.cpp
   98     C->setSelectionKind(Comdat::NoDuplicates);
   99   F.setComdat(C);
  100   return C;
lib/Transforms/Instrumentation/MemorySanitizer.cpp
  604         Comdat *MsanCtorComdat = M.getOrInsertComdat(kMsanModuleCtorName);
  605         Ctor->setComdat(MsanCtorComdat);
  606         appendToGlobalCtors(M, Ctor, 0, Ctor);
lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  690     F.setLinkage(GlobalValue::LinkOnceODRLinkage);
  691     F.setComdat(NewComdat);
  692     return;
lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  713     assert(CF);
  714     CF->setComdat(NewComdat);
  715   }
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  338     // Use comdat to dedup CtorFunc.
  339     CtorFunc->setComdat(M.getOrInsertComdat(CtorName));
  340     appendToGlobalCtors(M, CtorFunc, SanCtorAndDtorPriority, CtorFunc);
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  652             GetOrCreateFunctionComdat(F, TargetTriple, CurModuleUniqueId))
  653       Array->setComdat(Comdat);
  654   Array->setSection(getSectionName(Section));
lib/Transforms/Utils/CloneModule.cpp
   26   DC->setSelectionKind(SC->getSelectionKind());
   27   Dst->setComdat(DC);
   28 }
lib/Transforms/Utils/FunctionImportUtils.cpp
  286            "Expected comdat on definition (possibly available external)");
  287     GO->setComdat(nullptr);
  288   }
lib/Transforms/Utils/FunctionImportUtils.cpp
  305         if (Replacement != RenamedComdats.end())
  306           GO.setComdat(Replacement->second);
  307       }
lib/Transforms/Utils/SymbolRewriter.cpp
  102     C->setSelectionKind(CD->getSelectionKind());
  103     GO->setComdat(C);
  104 
tools/bugpoint/CrashDebugger.cpp
  168       I.setLinkage(GlobalValue::ExternalLinkage);
  169       I.setComdat(nullptr);
  170     }
tools/bugpoint/CrashDebugger.cpp
  962       GV.setLinkage(GlobalValue::ExternalLinkage);
  963       GV.setComdat(nullptr);
  964       DeletedInit = true;
tools/bugpoint/ExtractFunction.cpp
  209   GV->setInitializer(nullptr);
  210   GV->setComdat(nullptr);
  211 }
tools/bugpoint/ExtractFunction.cpp
  218   // Function declarations can't have comdats.
  219   F->setComdat(nullptr);
  220 
tools/clang/lib/CodeGen/CGBlocks.cpp
  277     if (CGM.supportsCOMDAT())
  278       global->setComdat(CGM.getModule().getOrInsertComdat(descName));
  279     global->setVisibility(llvm::GlobalValue::HiddenVisibility);
tools/clang/lib/CodeGen/CGBlocks.cpp
 2022   if (CGM.supportsCOMDAT())
 2023     Fn->setComdat(CGM.getModule().getOrInsertComdat(FuncName));
 2024 
tools/clang/lib/CodeGen/CGBlocks.cpp
 2215   if (CGM.supportsCOMDAT())
 2216     Fn->setComdat(CGM.getModule().getOrInsertComdat(FuncName));
 2217 
tools/clang/lib/CodeGen/CGDecl.cpp
  255   if (supportsCOMDAT() && GV->isWeakForLinker())
  256     GV->setComdat(TheModule.getOrInsertComdat(GV->getName()));
  257 
tools/clang/lib/CodeGen/CGDecl.cpp
  347     GV->setDSOLocal(OldGV->isDSOLocal());
  348     GV->setComdat(OldGV->getComdat());
  349 
tools/clang/lib/CodeGen/CGDeclCXX.cpp
  426   if (llvm::Comdat *C = GV->getComdat())
  427     PtrArray->setComdat(C);
  428 }
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  222               llvm::GlobalValue::LinkOnceODRLinkage, value, name);
  223       GV->setComdat(TheModule.getOrInsertComdat(name));
  224       if (Private)
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1100     if (isNamed) {
 1101       ObjCStrGV->setComdat(TheModule.getOrInsertComdat(StringName));
 1102       ObjCStrGV->setVisibility(llvm::GlobalValue::HiddenVisibility);
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1318           llvm::ConstantExpr::getBitCast(Protocol, ProtocolPtrTy), RefName);
 1319       GV->setComdat(TheModule.getOrInsertComdat(RefName));
 1320       GV->setSection(sectionName<ProtocolReferenceSection>());
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1408     GV->setSection(sectionName<ProtocolSection>());
 1409     GV->setComdat(TheModule.getOrInsertComdat(SymName));
 1410     if (OldGV) {
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1440           true, llvm::GlobalValue::LinkOnceODRLinkage, Init, TypesVarName);
 1441       GV->setComdat(TheModule.getOrInsertComdat(TypesVarName));
 1442       GV->setVisibility(llvm::GlobalValue::HiddenVisibility);
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1467         CGM.getPointerAlign(), false, llvm::GlobalValue::LinkOnceODRLinkage);
 1468     GV->setComdat(TheModule.getOrInsertComdat(SelVarName));
 1469     GV->setVisibility(llvm::GlobalValue::HiddenVisibility);
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1497         Sym->setSection((Section + SecSuffix).str());
 1498         Sym->setComdat(TheModule.getOrInsertComdat((Prefix +
 1499             Section).str()));
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1525     LoadFunction->setVisibility(llvm::GlobalValue::HiddenVisibility);
 1526     LoadFunction->setComdat(TheModule.getOrInsertComdat(".objcv2_load_function"));
 1527 
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1543     InitStruct->setVisibility(llvm::GlobalValue::HiddenVisibility);
 1544     InitStruct->setComdat(TheModule.getOrInsertComdat(".objc_init"));
 1545 
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1573     InitVar->setVisibility(llvm::GlobalValue::HiddenVisibility);
 1574     InitVar->setComdat(TheModule.getOrInsertComdat(".objc_ctor"));
 1575     CGM.addUsedGlobal(InitVar);
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 1588       GV->setSection(Section);
 1589       GV->setComdat(TheModule.getOrInsertComdat(Name));
 1590       GV->setVisibility(llvm::GlobalValue::HiddenVisibility);
tools/clang/lib/CodeGen/CGObjCMac.cpp
 6530   if (!CGM.getTriple().isOSBinFormatMachO())
 6531     PTGV->setComdat(CGM.getModule().getOrInsertComdat(ProtocolName));
 6532   CGM.addUsedGlobal(PTGV);
tools/clang/lib/CodeGen/CGObjCMac.cpp
 6877     if (!CGM.getTriple().isOSBinFormatMachO())
 6878       Entry->setComdat(CGM.getModule().getOrInsertComdat(Protocol));
 6879   }
tools/clang/lib/CodeGen/CGObjCMac.cpp
 6968     if (!CGM.getTriple().isOSBinFormatMachO())
 6969       Entry->setComdat(CGM.getModule().getOrInsertComdat(symbolName));
 6970 
tools/clang/lib/CodeGen/CGObjCMac.cpp
 6986   if (!CGM.getTriple().isOSBinFormatMachO())
 6987     PTGV->setComdat(CGM.getModule().getOrInsertComdat(ProtocolRef));
 6988   PTGV->setAlignment(llvm::Align(
tools/clang/lib/CodeGen/CGVTT.cpp
   98   if (CGM.supportsCOMDAT() && VTT->isWeakForLinker())
   99     VTT->setComdat(CGM.getModule().getOrInsertComdat(VTT->getName()));
  100