|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/IR/DebugInfoMetadata.h 118 class DINode : public MDNode {
1355 class DILocation : public MDNode {
2300 class DIExpression : public MDNode {
3049 class DIGlobalVariableExpression : public MDNode {
3096 class DIMacroNode : public MDNode {
include/llvm/IR/Metadata.h 1105 class MDTuple : public MDNode {
Declarations
include/llvm/Analysis/InstructionSimplify.h 54 class MDNode;
include/llvm/Analysis/Loads.h 24 class MDNode;
include/llvm/Analysis/LoopInfo.h 61 class MDNode;
include/llvm/Analysis/ScopedNoAliasAA.h 26 class MDNode;
include/llvm/Analysis/TypeBasedAliasAnalysis.h 27 class MDNode;
include/llvm/Analysis/ValueTracking.h 40 class MDNode;
include/llvm/CodeGen/AsmPrinter.h 70 class MDNode;
include/llvm/CodeGen/LexicalScopes.h 33 class MDNode;
include/llvm/CodeGen/MIRParser/MIParser.h 25 class MDNode;
include/llvm/CodeGen/MachineInstrBuilder.h 39 class MDNode;
include/llvm/CodeGen/MachineMemOperand.h 28 class MDNode;
include/llvm/CodeGen/MachineOperand.h 34 class MDNode;
include/llvm/IR/AutoUpgrade.h 23 class MDNode;
include/llvm/IR/ConstantRange.h 42 class MDNode;
include/llvm/IR/GlobalObject.h 27 class MDNode;
include/llvm/IR/IRBuilder.h 53 class MDNode;
include/llvm/IR/Instruction.h 35 class MDNode;
include/llvm/IR/MDBuilder.h 31 class MDNode;
include/llvm/IR/Metadata.def 80 HANDLE_MDNODE_BRANCH(MDNode)
include/llvm/IR/TypeFinder.h 22 class MDNode;
include/llvm/IR/Verifier.h 33 class MDNode;
include/llvm/ProfileData/InstrProf.h 53 class MDNode;
include/llvm/Transforms/Utils/BasicBlockUtils.h 35 class MDNode;
include/llvm/Transforms/Utils/FunctionComparator.h 38 class MDNode;
include/llvm/Transforms/Utils/Local.h 52 class MDNode;
include/llvm/Transforms/Utils/UnrollLoop.h 32 class MDNode;
include/llvm/Transforms/Utils/ValueMapper.h 28 class MDNode;
lib/AsmParser/LLParser.h 39 class MDNode;
lib/Bitcode/Reader/MetadataLoader.h 30 class MDNode;
lib/Bitcode/Writer/ValueEnumerator.h 35 class MDNode;
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h 41 class MDNode;
lib/CodeGen/AsmPrinter/DwarfDebug.h 62 class MDNode;
lib/Target/AMDGPU/AMDGPUAliasAnalysis.h 27 class MDNode;
lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h 30 class MDNode;
lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h 27 class MDNode;
lib/Transforms/ObjCARC/PtrState.h 27 class MDNode;
tools/clang/lib/CodeGen/CGDebugInfo.h 33 class MDNode;
tools/clang/lib/CodeGen/CGLoopInfo.h 26 class MDNode;
tools/clang/lib/CodeGen/CGValue.h 26 class MDNode;
tools/clang/lib/CodeGen/CodeGenFunction.h 46 class MDNode;
tools/clang/lib/CodeGen/SanitizerMetadata.h 22 class MDNode;
References
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/Analysis/CFGPrinter.h 156 MDNode *WeightsNode = TI->getMetadata(LLVMContext::MD_prof);
include/llvm/Analysis/InstructionSimplify.h 65 MDNode *getMetadata(const Instruction *I, unsigned KindID) const {
include/llvm/Analysis/LoopInfo.h 796 MDNode *getLoopID() const;
804 void setLoopID(MDNode *LoopID) const;
1238 MDNode *findOptionMDForLoopID(MDNode *LoopID, StringRef Name);
1238 MDNode *findOptionMDForLoopID(MDNode *LoopID, StringRef Name);
1245 MDNode *findOptionMDForLoop(const Loop *TheLoop, StringRef Name);
1254 bool isValidAsAccessGroup(MDNode *AccGroup);
1271 llvm::MDNode *
1272 makePostTransformationMetadata(llvm::LLVMContext &Context, MDNode *OrigLoopID,
1274 llvm::ArrayRef<llvm::MDNode *> AddAttrs);
include/llvm/Analysis/ScopedNoAliasAA.h 50 bool mayAliasInScopes(const MDNode *Scopes, const MDNode *NoAlias) const;
50 bool mayAliasInScopes(const MDNode *Scopes, const MDNode *NoAlias) const;
include/llvm/Analysis/TypeBasedAliasAnalysis.h 55 bool Aliases(const MDNode *A, const MDNode *B) const;
55 bool Aliases(const MDNode *A, const MDNode *B) const;
56 bool PathAliases(const MDNode *A, const MDNode *B) const;
56 bool PathAliases(const MDNode *A, const MDNode *B) const;
include/llvm/Analysis/ValueTracking.h 73 void computeKnownBitsFromRangeMetadata(const MDNode &Ranges,
include/llvm/Analysis/VectorUtils.h 240 MDNode *uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2);
240 MDNode *uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2);
240 MDNode *uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2);
248 MDNode *intersectAccessGroups(const Instruction *Inst1,
include/llvm/CodeGen/AsmPrinter.h 167 std::vector<const MDNode *> LocInfos;
664 const MDNode *LocMDNode = nullptr,
674 const MDNode *LocMDNode) const;
include/llvm/CodeGen/GlobalISel/CallLowering.h 89 MDNode *KnownCallees = nullptr;
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h 347 MachineInstrBuilder buildDirectDbgValue(Register Reg, const MDNode *Variable,
348 const MDNode *Expr);
354 const MDNode *Variable,
355 const MDNode *Expr);
360 MachineInstrBuilder buildFIDbgValue(int FI, const MDNode *Variable,
361 const MDNode *Expr);
366 const MDNode *Variable,
367 const MDNode *Expr);
371 MachineInstrBuilder buildDbgLabel(const MDNode *Label);
include/llvm/CodeGen/LexicalScopes.h 61 const MDNode *getDesc() const { return Desc; }
include/llvm/CodeGen/MIRParser/MIParser.h 228 bool parseMDNode(PerFunctionMIParsingState &PFS, MDNode *&Node, StringRef Src,
include/llvm/CodeGen/MachineFunction.h 327 std::vector<std::pair<MCSymbol *, MDNode *>> CodeViewAnnotations;
757 const MDNode *Ranges = nullptr,
805 MCSymbol *PostInstrSymbol = nullptr, MDNode *HeapAllocMarker = nullptr);
952 void addCodeViewAnnotation(MCSymbol *Label, MDNode *MD) {
956 ArrayRef<std::pair<MCSymbol *, MDNode *>> getCodeViewAnnotations() const {
include/llvm/CodeGen/MachineInstr.h 139 : TrailingObjects<ExtraInfo, MachineMemOperand *, MCSymbol *, MDNode *> {
145 MDNode *HeapAllocMarker = nullptr) {
150 totalSizeToAlloc<MachineMemOperand *, MCSymbol *, MDNode *>(
167 Result->getTrailingObjects<MDNode *>()[0] = HeapAllocMarker;
186 MDNode *getHeapAllocMarker() const {
187 return HasHeapAllocMarker ? getTrailingObjects<MDNode *>()[0] : nullptr;
210 size_t numTrailingObjects(OverloadToken<MDNode *>) const {
612 MDNode *getHeapAllocMarker() const {
1630 void setHeapAllocMarker(MachineFunction &MF, MDNode *MD);
1697 MDNode *HeapAllocMarker);
include/llvm/CodeGen/MachineInstrBuilder.h 227 const MachineInstrBuilder &addMetadata(const MDNode *MD) const {
434 Register Reg, const MDNode *Variable,
435 const MDNode *Expr);
441 MachineOperand &MO, const MDNode *Variable,
442 const MDNode *Expr);
450 Register Reg, const MDNode *Variable,
451 const MDNode *Expr);
458 MachineOperand &MO, const MDNode *Variable,
459 const MDNode *Expr);
include/llvm/CodeGen/MachineMemOperand.h 175 const MDNode *Ranges;
186 const MDNode *Ranges = nullptr,
238 const MDNode *getRanges() const { return Ranges; }
include/llvm/CodeGen/MachineOperand.h 172 const MDNode *MD; // For MO_Metadata.
639 const MDNode *getMetadata() const {
677 void setMetadata(const MDNode *MD) {
881 static MachineOperand CreateMetadata(const MDNode *Meta) {
include/llvm/CodeGen/SelectionDAG.h 275 MDNode *HeapAllocSite = nullptr;
1083 const MDNode *Ranges = nullptr);
1102 const MDNode *Ranges = nullptr);
1157 SDValue getMDNode(const MDNode *MD);
1702 void addHeapAllocSite(const SDNode *Node, MDNode *MD) {
1707 MDNode *getHeapAllocSite(const SDNode *Node) {
include/llvm/CodeGen/SelectionDAGNodes.h 1350 const MDNode *getRanges() const { return MMO->getRanges(); }
2035 const MDNode *MD;
2037 explicit MDNodeSDNode(const MDNode *md)
2042 const MDNode *getMD() const { return MD; }
include/llvm/IR/AutoUpgrade.h 66 MDNode *UpgradeTBAANode(MDNode &TBAANode);
66 MDNode *UpgradeTBAANode(MDNode &TBAANode);
88 MDNode *upgradeInstructionLoopAttachment(MDNode &N);
88 MDNode *upgradeInstructionLoopAttachment(MDNode &N);
include/llvm/IR/ConstantRange.h 479 ConstantRange getConstantRangeFromMetadata(const MDNode &RangeMD);
include/llvm/IR/DIBuilder.h 59 MapVector<MDNode *, SetVector<Metadata *>> AllMacrosPerParent;
70 DenseMap<MDNode *, SmallVector<TrackingMDNodeRef, 1>> PreservedVariables;
73 DenseMap<MDNode *, SmallVector<TrackingMDNodeRef, 1>> PreservedLabels;
78 void trackIfUnresolved(MDNode *N);
341 DIType *Ty, MDNode *PropertyNode);
378 DIType *VTableHolder = nullptr, MDNode *TemplateParms = nullptr,
585 DIExpression *Expr = nullptr, MDNode *Decl = nullptr,
592 unsigned LineNo, DIType *Ty, bool isLocalToUnit, MDNode *Decl = nullptr,
876 NodeTy *replaceTemporary(TempMDNode &&N, NodeTy *Replacement) {
876 NodeTy *replaceTemporary(TempMDNode &&N, NodeTy *Replacement) {
878 return cast<NodeTy>(MDNode::replaceWithUniqued(std::move(N)));
878 return cast<NodeTy>(MDNode::replaceWithUniqued(std::move(N)));
include/llvm/IR/DebugInfo.h 31 DISubprogram *getDISubprogram(const MDNode *Scope);
135 SmallPtrSet<const MDNode *, 32> NodesSeen;
include/llvm/IR/DebugInfoMetadata.h 85 MDNode::op_iterator I = nullptr;
89 explicit iterator(MDNode::op_iterator I) : I(I) {}
118 class DINode : public MDNode {
1355 class DILocation : public MDNode {
2300 class DIExpression : public MDNode {
3049 class DIGlobalVariableExpression : public MDNode {
3096 class DIMacroNode : public MDNode {
include/llvm/IR/DebugLoc.h 48 explicit DebugLoc(const MDNode *N);
79 static DebugLoc get(unsigned Line, unsigned Col, const MDNode *Scope,
80 const MDNode *InlinedAt = nullptr,
90 DenseMap<const MDNode *, MDNode *> &Cache,
90 DenseMap<const MDNode *, MDNode *> &Cache,
95 MDNode *getScope() const;
101 MDNode *getInlinedAtScope() const;
113 MDNode *getAsMDNode() const { return Loc; }
include/llvm/IR/GlobalObject.h 140 MDNode *getMetadata(unsigned KindID) const;
141 MDNode *getMetadata(StringRef Kind) const;
148 void getMetadata(unsigned KindID, SmallVectorImpl<MDNode *> &MDs) const;
149 void getMetadata(StringRef Kind, SmallVectorImpl<MDNode *> &MDs) const;
157 void setMetadata(unsigned KindID, MDNode *MD);
158 void setMetadata(StringRef Kind, MDNode *MD);
163 void addMetadata(unsigned KindID, MDNode &MD);
164 void addMetadata(StringRef Kind, MDNode &MD);
170 getAllMetadata(SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs) const;
include/llvm/IR/IRBuilder.h 96 MDNode *DefaultFPMathTag;
106 IRBuilderBase(LLVMContext &context, MDNode *FPMathTag = nullptr,
213 MDNode *getDefaultFPMathTag() const { return DefaultFPMathTag; }
222 void setDefaultFPMathTag(MDNode *FPMathTag) { DefaultFPMathTag = FPMathTag; }
304 MDNode *FPMathTag;
456 bool isVolatile = false, MDNode *TBAATag = nullptr,
457 MDNode *ScopeTag = nullptr,
458 MDNode *NoAliasTag = nullptr) {
464 bool isVolatile = false, MDNode *TBAATag = nullptr,
465 MDNode *ScopeTag = nullptr,
466 MDNode *NoAliasTag = nullptr);
477 MDNode *TBAATag = nullptr,
478 MDNode *ScopeTag = nullptr,
479 MDNode *NoAliasTag = nullptr) {
488 MDNode *TBAATag = nullptr,
489 MDNode *ScopeTag = nullptr,
490 MDNode *NoAliasTag = nullptr);
499 bool isVolatile = false, MDNode *TBAATag = nullptr,
500 MDNode *TBAAStructTag = nullptr,
501 MDNode *ScopeTag = nullptr,
502 MDNode *NoAliasTag = nullptr) {
510 bool isVolatile = false, MDNode *TBAATag = nullptr,
511 MDNode *TBAAStructTag = nullptr,
512 MDNode *ScopeTag = nullptr,
513 MDNode *NoAliasTag = nullptr);
525 uint64_t Size, uint32_t ElementSize, MDNode *TBAATag = nullptr,
526 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
526 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
527 MDNode *NoAliasTag = nullptr) {
535 uint32_t ElementSize, MDNode *TBAATag = nullptr,
536 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
536 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
537 MDNode *NoAliasTag = nullptr);
547 MDNode *TBAATag = nullptr, MDNode *ScopeTag = nullptr,
547 MDNode *TBAATag = nullptr, MDNode *ScopeTag = nullptr,
548 MDNode *NoAliasTag = nullptr) {
554 Value *Size, bool isVolatile = false, MDNode *TBAATag = nullptr,
555 MDNode *ScopeTag = nullptr,
556 MDNode *NoAliasTag = nullptr);
569 uint64_t Size, uint32_t ElementSize, MDNode *TBAATag = nullptr,
570 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
570 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
571 MDNode *NoAliasTag = nullptr) {
579 uint32_t ElementSize, MDNode *TBAATag = nullptr,
580 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
580 MDNode *TBAAStructTag = nullptr, MDNode *ScopeTag = nullptr,
581 MDNode *NoAliasTag = nullptr);
799 MDNode *FPMathTag = nullptr,
804 explicit IRBuilder(LLVMContext &C, MDNode *FPMathTag = nullptr,
808 explicit IRBuilder(BasicBlock *TheBB, const T &F, MDNode *FPMathTag = nullptr,
814 explicit IRBuilder(BasicBlock *TheBB, MDNode *FPMathTag = nullptr,
820 explicit IRBuilder(Instruction *IP, MDNode *FPMathTag = nullptr,
827 MDNode *FPMathTag = nullptr,
834 MDNode *FPMathTag = nullptr,
865 InstTy *addBranchMetadata(InstTy *I, MDNode *Weights, MDNode *Unpredictable) {
865 InstTy *addBranchMetadata(InstTy *I, MDNode *Weights, MDNode *Unpredictable) {
906 MDNode *BranchWeights = nullptr,
907 MDNode *Unpredictable = nullptr) {
929 MDNode *BranchWeights = nullptr,
930 MDNode *Unpredictable = nullptr) {
1083 Instruction *setFPAttrs(Instruction *I, MDNode *FPMD,
1349 MDNode *FPMD = nullptr) {
1374 MDNode *FPMD = nullptr) {
1399 MDNode *FPMD = nullptr) {
1424 MDNode *FPMD = nullptr) {
1449 MDNode *FPMD = nullptr) {
1475 MDNode *FPMathTag = nullptr) {
1485 const Twine &Name = "", MDNode *FPMathTag = nullptr,
1521 MDNode *FPMathTag = nullptr) {
1547 MDNode *FPMathTag = nullptr) {
1560 MDNode *FPMathTag = nullptr) {
2080 MDNode *FPMathTag = nullptr,
2160 MDNode *FPMathTag = nullptr) {
2165 MDNode *FPMathTag = nullptr) {
2170 MDNode *FPMathTag = nullptr) {
2175 MDNode *FPMathTag = nullptr) {
2180 MDNode *FPMathTag = nullptr) {
2185 MDNode *FPMathTag = nullptr) {
2190 MDNode *FPMathTag = nullptr) {
2195 MDNode *FPMathTag = nullptr) {
2200 MDNode *FPMathTag = nullptr) {
2205 MDNode *FPMathTag = nullptr) {
2210 MDNode *FPMathTag = nullptr) {
2215 MDNode *FPMathTag = nullptr) {
2220 MDNode *FPMathTag = nullptr) {
2225 MDNode *FPMathTag = nullptr) {
2238 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2259 MDNode *FPMathTag = nullptr) {
2270 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2280 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2287 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2294 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2303 const Twine &Name = "", MDNode *FPMathTag = nullptr) {
2318 MDNode *Prof = MDFrom->getMetadata(LLVMContext::MD_prof);
2319 MDNode *Unpred = MDFrom->getMetadata(LLVMContext::MD_unpredictable);
2525 unsigned LastIndex, MDNode *DbgInfo) {
2554 MDNode *DbgInfo) {
2573 unsigned FieldIndex, MDNode *DbgInfo) {
include/llvm/IR/Instruction.h 244 MDNode *getMetadata(unsigned KindID) const {
251 MDNode *getMetadata(StringRef Kind) const {
260 getAllMetadata(SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs) const {
268 SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs) const {
280 void setMetadata(unsigned KindID, MDNode *Node);
281 void setMetadata(StringRef Kind, MDNode *Node);
465 MDNode *getMetadataImpl(unsigned KindID) const;
466 MDNode *getMetadataImpl(StringRef Kind) const;
468 getAllMetadataImpl(SmallVectorImpl<std::pair<unsigned, MDNode *>> &) const;
470 SmallVectorImpl<std::pair<unsigned, MDNode *>> &) const;
include/llvm/IR/Instructions.h 3471 static MDNode *getProfBranchWeightsMD(const SwitchInst &SI);
3473 MDNode *buildProfBranchWeightsMD();
include/llvm/IR/MDBuilder.h 54 MDNode *createFPMath(float Accuracy);
61 MDNode *createBranchWeights(uint32_t TrueWeight, uint32_t FalseWeight);
64 MDNode *createBranchWeights(ArrayRef<uint32_t> Weights);
67 MDNode *createUnpredictable();
73 MDNode *createFunctionEntryCount(uint64_t Count, bool Synthetic,
77 MDNode *createFunctionSectionPrefix(StringRef Prefix);
80 MDNode *createMisExpect(uint64_t Index, uint64_t LikelyWeight,
88 MDNode *createRange(const APInt &Lo, const APInt &Hi);
91 MDNode *createRange(Constant *Lo, Constant *Hi);
99 MDNode *createCallees(ArrayRef<Function *> Callees);
106 MDNode *createCallbackEncoding(unsigned CalleeArgNo, ArrayRef<int> Arguments,
110 MDNode *mergeCallbackEncodings(MDNode *ExistingCallbacks, MDNode *NewCB);
110 MDNode *mergeCallbackEncodings(MDNode *ExistingCallbacks, MDNode *NewCB);
110 MDNode *mergeCallbackEncodings(MDNode *ExistingCallbacks, MDNode *NewCB);
120 MDNode *createAnonymousAARoot(StringRef Name = StringRef(),
121 MDNode *Extra = nullptr);
127 MDNode *createAnonymousTBAARoot() {
134 MDNode *createAnonymousAliasScopeDomain(StringRef Name = StringRef()) {
141 MDNode *createAnonymousAliasScope(MDNode *Domain,
141 MDNode *createAnonymousAliasScope(MDNode *Domain,
149 MDNode *createTBAARoot(StringRef Name);
154 MDNode *createAliasScopeDomain(StringRef Name);
159 MDNode *createAliasScope(StringRef Name, MDNode *Domain);
159 MDNode *createAliasScope(StringRef Name, MDNode *Domain);
163 MDNode *createTBAANode(StringRef Name, MDNode *Parent,
163 MDNode *createTBAANode(StringRef Name, MDNode *Parent,
169 MDNode *Type;
170 TBAAStructField(uint64_t Offset, uint64_t Size, MDNode *Type) :
176 MDNode *createTBAAStructNode(ArrayRef<TBAAStructField> Fields);
180 MDNode *
182 ArrayRef<std::pair<MDNode *, uint64_t>> Fields);
186 MDNode *createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
186 MDNode *createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
191 MDNode *createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
191 MDNode *createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
191 MDNode *createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
196 MDNode *createTBAATypeNode(MDNode *Parent, uint64_t Size, Metadata *Id,
196 MDNode *createTBAATypeNode(MDNode *Parent, uint64_t Size, Metadata *Id,
204 MDNode *createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
204 MDNode *createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
204 MDNode *createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
210 MDNode *createMutableTBAAAccessTag(MDNode *Tag);
210 MDNode *createMutableTBAAAccessTag(MDNode *Tag);
213 MDNode *createIrrLoopHeaderWeight(uint64_t Weight);
include/llvm/IR/Metadata.h 644 explicit AAMDNodes(MDNode *T = nullptr, MDNode *S = nullptr,
644 explicit AAMDNodes(MDNode *T = nullptr, MDNode *S = nullptr,
645 MDNode *N = nullptr)
657 MDNode *TBAA;
660 MDNode *Scope;
663 MDNode *NoAlias;
683 return AAMDNodes(DenseMapInfo<MDNode *>::getEmptyKey(),
688 return AAMDNodes(DenseMapInfo<MDNode *>::getTombstoneKey(),
693 return DenseMapInfo<MDNode *>::getHashValue(Val.TBAA) ^
694 DenseMapInfo<MDNode *>::getHashValue(Val.Scope) ^
695 DenseMapInfo<MDNode *>::getHashValue(Val.NoAlias);
839 inline void operator()(MDNode *Node) const;
902 MDNode(const MDNode &) = delete;
903 void operator=(const MDNode &) = delete;
921 static void deleteTemporary(MDNode *N);
970 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
982 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
982 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
982 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
983 replaceWithUniqued(std::unique_ptr<T, TempMDNodeDeleter> N) {
984 return cast<T>(N.release()->replaceWithUniquedImpl());
992 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
992 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
992 static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
993 replaceWithDistinct(std::unique_ptr<T, TempMDNodeDeleter> N) {
994 return cast<T>(N.release()->replaceWithDistinctImpl());
998 MDNode *replaceWithPermanentImpl();
999 MDNode *replaceWithUniquedImpl();
1000 MDNode *replaceWithDistinctImpl();
1037 MDNode *uniquify();
1092 static MDNode *concatenate(MDNode *A, MDNode *B);
1092 static MDNode *concatenate(MDNode *A, MDNode *B);
1092 static MDNode *concatenate(MDNode *A, MDNode *B);
1093 static MDNode *intersect(MDNode *A, MDNode *B);
1093 static MDNode *intersect(MDNode *A, MDNode *B);
1093 static MDNode *intersect(MDNode *A, MDNode *B);
1094 static MDNode *getMostGenericTBAA(MDNode *A, MDNode *B);
1094 static MDNode *getMostGenericTBAA(MDNode *A, MDNode *B);
1094 static MDNode *getMostGenericTBAA(MDNode *A, MDNode *B);
1095 static MDNode *getMostGenericFPMath(MDNode *A, MDNode *B);
1095 static MDNode *getMostGenericFPMath(MDNode *A, MDNode *B);
1095 static MDNode *getMostGenericFPMath(MDNode *A, MDNode *B);
1096 static MDNode *getMostGenericRange(MDNode *A, MDNode *B);
1096 static MDNode *getMostGenericRange(MDNode *A, MDNode *B);
1096 static MDNode *getMostGenericRange(MDNode *A, MDNode *B);
1097 static MDNode *getMostGenericAliasScope(MDNode *A, MDNode *B);
1097 static MDNode *getMostGenericAliasScope(MDNode *A, MDNode *B);
1097 static MDNode *getMostGenericAliasScope(MDNode *A, MDNode *B);
1098 static MDNode *getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B);
1098 static MDNode *getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B);
1098 static MDNode *getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B);
1105 class MDTuple : public MDNode {
1182 void TempMDNodeDeleter::operator()(MDNode *Node) const {
1183 MDNode::deleteTemporary(Node);
1194 MDNode::op_iterator I = nullptr;
1198 explicit TypedMDOperandIterator(MDNode::op_iterator I) : I(I) {}
1339 public std::iterator<std::bidirectional_iterator_tag, T2> {
1394 MDNode *getOperand(unsigned i) const;
1396 void addOperand(MDNode *M);
1397 void setOperand(unsigned I, MDNode *New);
1407 using op_iterator = op_iterator_impl<MDNode *, MDNode>;
1407 using op_iterator = op_iterator_impl<MDNode *, MDNode>;
1412 using const_op_iterator = op_iterator_impl<const MDNode *, MDNode>;
1412 using const_op_iterator = op_iterator_impl<const MDNode *, MDNode>;
include/llvm/IR/Module.h 493 void addModuleFlag(MDNode *Node);
include/llvm/IR/TrackingMDRef.h 111 explicit TypedTrackingMDRef(T *MD) : Ref(static_cast<Metadata *>(MD)) {}
126 T *get() const { return (T *)Ref.get(); }
127 operator T *() const { return get(); }
128 T *operator->() const { return get(); }
129 T &operator*() const { return *get(); }
135 void reset(T *MD) { Ref.reset(static_cast<Metadata *>(MD)); }
141 using TrackingMDNodeRef = TypedTrackingMDRef<MDNode>;
160 using SimpleType = T *;
162 static SimpleType getSimplifiedValue(TypedTrackingMDRef<T> &MD) {
168 using SimpleType = T *;
170 static SimpleType getSimplifiedValue(const TypedTrackingMDRef<T> &MD) {
include/llvm/IR/TypeFinder.h 34 DenseSet<const MDNode *> VisitedMetadata;
61 DenseSet<const MDNode *> &getVisitedMetadata() { return VisitedMetadata; }
76 void incorporateMDNode(const MDNode *V);
include/llvm/IR/Verifier.h 54 DenseMap<const MDNode *, TBAABaseNodeSummary> TBAABaseNodes;
58 DenseMap<const MDNode *, bool> TBAAScalarNodes;
62 MDNode *getFieldNodeFromTBAABaseNode(Instruction &I, const MDNode *BaseNode,
62 MDNode *getFieldNodeFromTBAABaseNode(Instruction &I, const MDNode *BaseNode,
65 const MDNode *BaseNode,
68 const MDNode *BaseNode,
71 bool isValidScalarTBAANode(const MDNode *MD);
79 bool visitTBAAMetadata(Instruction &I, const MDNode *MD);
include/llvm/ProfileData/InstrProf.h 262 MDNode *getPGOFuncNameMetadata(const Function &F);
include/llvm/Support/Casting.h 34 using SimpleType = From; // The real type this represents...
37 static SimpleType &getSimplifiedValue(From &Val) { return Val; }
41 using NonConstSimpleType = typename simplify_type<From>::SimpleType;
47 static RetType getSimplifiedValue(const From& Val) {
57 static inline bool doit(const From &Val) {
58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
76 static inline bool doit(const From &Val) {
77 return isa_impl<To, From>::doit(Val);
90 static inline bool doit(const From *Val) {
92 return isa_impl<To, From>::doit(*Val);
92 return isa_impl<To, From>::doit(*Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
142 return isa_impl_wrap<X, const Y,
142 return isa_impl_wrap<X, const Y,
143 typename simplify_type<const Y>::SimpleType>::doit(Val);
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
218 static typename cast_retty<To, From>::ret_type doit(From &Val) {
219 return cast_convert_val<To, SimpleFrom,
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
248 typename cast_retty<X, const Y>::ret_type>::type
252 X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
285 typename cast_retty<X, const Y>::ret_type>::type
290 return cast<X>(Val);
296 typename cast_retty<X, Y>::ret_type>::type
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
306 cast_or_null(Y *Val) {
309 return cast<X>(Val);
331 typename cast_retty<X, const Y>::ret_type>::type
333 return isa<X>(Val) ? cast<X>(Val) : nullptr;
333 return isa<X>(Val) ? cast<X>(Val) : nullptr;
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
352 typename cast_retty<X, const Y>::ret_type>::type
354 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
354 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
360 typename cast_retty<X, Y>::ret_type>::type
362 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
362 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h 55 struct add_const_past_pointer { using type = const T; };
include/llvm/Transforms/Instrumentation/AddressSanitizer.h 32 void parse(MDNode *MDN);
include/llvm/Transforms/Utils/BasicBlockUtils.h 303 MDNode *BranchWeights = nullptr,
325 MDNode *BranchWeights = nullptr);
include/llvm/Transforms/Utils/CallPromotionUtils.h 49 MDNode *BranchWeights = nullptr);
include/llvm/Transforms/Utils/FunctionComparator.h 334 int cmpRangeMetadata(const MDNode *L, const MDNode *R) const;
334 int cmpRangeMetadata(const MDNode *L, const MDNode *R) const;
include/llvm/Transforms/Utils/Local.h 471 void copyNonnullMetadata(const LoadInst &OldLI, MDNode *N, LoadInst &NewLI);
477 void copyRangeMetadata(const DataLayout &DL, const LoadInst &OldLI, MDNode *N,
include/llvm/Transforms/Utils/LoopUtils.h 210 Optional<MDNode *>
211 makeFollowupLoopID(MDNode *OrigLoopID, ArrayRef<StringRef> FollowupAttrs,
include/llvm/Transforms/Utils/LoopVersioning.h 136 DenseMap<const RuntimePointerChecking::CheckingPtrGroup *, MDNode *>
140 DenseMap<const RuntimePointerChecking::CheckingPtrGroup *, MDNode *>
include/llvm/Transforms/Utils/UnrollLoop.h 128 MDNode *GetUnrollMetadata(MDNode *LoopID, StringRef Name);
128 MDNode *GetUnrollMetadata(MDNode *LoopID, StringRef Name);
include/llvm/Transforms/Utils/ValueMapper.h 169 MDNode *mapMDNode(const MDNode &N);
169 MDNode *mapMDNode(const MDNode &N);
236 inline MDNode *MapMetadata(const MDNode *MD, ValueToValueMapTy &VM,
236 inline MDNode *MapMetadata(const MDNode *MD, ValueToValueMapTy &VM,
lib/Analysis/BranchProbabilityInfo.cpp 260 MDNode *WeightsNode = TI->getMetadata(LLVMContext::MD_prof);
lib/Analysis/LazyValueInfo.cpp 583 if (MDNode *Ranges = BBI->getMetadata(LLVMContext::MD_range))
1235 if (auto *Ranges = I->getMetadata(LLVMContext::MD_range))
lib/Analysis/LoopInfo.cpp 489 MDNode *Loop::getLoopID() const {
490 MDNode *LoopID = nullptr;
497 MDNode *MD = TI->getMetadata(LLVMContext::MD_loop);
513 void Loop::setLoopID(MDNode *LoopID) const {
528 MDNode *DisableUnrollMD =
529 MDNode::get(Context, MDString::get(Context, "llvm.loop.unroll.disable"));
530 MDNode *LoopID = getLoopID();
531 MDNode *NewLoopID = makePostTransformationMetadata(
537 MDNode *DesiredLoopIdMetadata = getLoopID();
542 MDNode *ParallelAccesses =
544 SmallPtrSet<MDNode *, 4>
548 MDNode *AccGroup = cast<MDNode>(MD.get());
548 MDNode *AccGroup = cast<MDNode>(MD.get());
565 if (MDNode *AccessGroup = I.getMetadata(LLVMContext::MD_access_group)) {
573 MDNode *AccGroup = cast<MDNode>(AccessListItem.get());
573 MDNode *AccGroup = cast<MDNode>(AccessListItem.get());
590 MDNode *LoopIdMD =
615 if (MDNode *LoopID = getLoopID()) {
976 MDNode *llvm::findOptionMDForLoopID(MDNode *LoopID, StringRef Name) {
976 MDNode *llvm::findOptionMDForLoopID(MDNode *LoopID, StringRef Name) {
987 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
987 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
1002 MDNode *llvm::findOptionMDForLoop(const Loop *TheLoop, StringRef Name) {
1006 bool llvm::isValidAsAccessGroup(MDNode *Node) {
1010 MDNode *llvm::makePostTransformationMetadata(LLVMContext &Context,
1011 MDNode *OrigLoopID,
1013 ArrayRef<MDNode *> AddAttrs) {
1018 TempMDTuple TempNode = MDNode::getTemporary(Context, None);
1027 if (MDNode *MD = dyn_cast<MDNode>(Op)) {
1027 if (MDNode *MD = dyn_cast<MDNode>(Op)) {
1044 MDNode *NewLoopID = MDNode::getDistinct(Context, MDs);
1044 MDNode *NewLoopID = MDNode::getDistinct(Context, MDs);
lib/Analysis/ModuleSummaryAnalysis.cpp 375 if (auto *MD = I.getMetadata(LLVMContext::MD_callees)) {
553 SmallVectorImpl<MDNode *> &Types) {
554 for (MDNode *Type : Types) {
572 SmallVectorImpl<MDNode *> &Types) {
755 SmallVector<MDNode *, 2> Types;
lib/Analysis/ScalarEvolution.cpp 5527 if (MDNode *MD = I->getMetadata(LLVMContext::MD_range))
lib/Analysis/ScopedNoAliasAA.cpp 58 const MDNode *Node = nullptr;
62 explicit AliasScopeNode(const MDNode *N) : Node(N) {}
65 const MDNode *getNode() const { return Node; }
68 const MDNode *getDomain() const {
71 return dyn_cast_or_null<MDNode>(Node->getOperand(1));
84 const MDNode *AScopes = LocA.AATags.Scope, *BScopes = LocB.AATags.Scope;
86 const MDNode *ANoAlias = LocA.AATags.NoAlias, *BNoAlias = LocB.AATags.NoAlias;
132 static void collectMDInDomain(const MDNode *List, const MDNode *Domain,
132 static void collectMDInDomain(const MDNode *List, const MDNode *Domain,
133 SmallPtrSetImpl<const MDNode *> &Nodes) {
135 if (const MDNode *MD = dyn_cast<MDNode>(MDOp))
135 if (const MDNode *MD = dyn_cast<MDNode>(MDOp))
140 bool ScopedNoAliasAAResult::mayAliasInScopes(const MDNode *Scopes,
141 const MDNode *NoAlias) const {
146 SmallPtrSet<const MDNode *, 16> Domains;
148 if (const MDNode *NAMD = dyn_cast<MDNode>(MDOp))
148 if (const MDNode *NAMD = dyn_cast<MDNode>(MDOp))
149 if (const MDNode *Domain = AliasScopeNode(NAMD).getDomain())
154 for (const MDNode *Domain : Domains) {
155 SmallPtrSet<const MDNode *, 16> ScopeNodes;
160 SmallPtrSet<const MDNode *, 16> NANodes;
165 for (const MDNode *SMD : ScopeNodes)
lib/Analysis/TypeBasedAliasAnalysis.cpp 135 static bool isNewFormatTypeNode(const MDNode *N) {
139 if (!isa<MDNode>(N->getOperand(0)))
192 using TBAANode = TBAANodeImpl<const MDNode>;
193 using MutableTBAANode = TBAANodeImpl<MDNode>;
222 return dyn_cast_or_null<MDNode>(Node->getOperand(0));
226 return dyn_cast_or_null<MDNode>(Node->getOperand(1));
256 using TBAAStructTagNode = TBAAStructTagNodeImpl<const MDNode>;
257 using MutableTBAAStructTagNode = TBAAStructTagNodeImpl<MDNode>;
265 const MDNode *Node = nullptr;
269 explicit TBAAStructTypeNode(const MDNode *N) : Node(N) {}
272 const MDNode *getNode() const { return Node; }
297 auto *TypeNode = cast<MDNode>(getNode()->getOperand(OpIndex));
297 auto *TypeNode = cast<MDNode>(getNode()->getOperand(OpIndex));
322 MDNode *P = dyn_cast_or_null<MDNode>(Node->getOperand(1));
322 MDNode *P = dyn_cast_or_null<MDNode>(Node->getOperand(1));
351 MDNode *P = dyn_cast_or_null<MDNode>(Node->getOperand(TheIdx));
351 MDNode *P = dyn_cast_or_null<MDNode>(Node->getOperand(TheIdx));
363 static bool isStructPathTBAA(const MDNode *MD) {
366 return isa<MDNode>(MD->getOperand(0)) && MD->getNumOperands() >= 3;
389 const MDNode *M = Loc.AATags.TBAA;
411 if (const MDNode *M = Call->getMetadata(LLVMContext::MD_tbaa))
430 if (const MDNode *L = Loc.AATags.TBAA)
431 if (const MDNode *M = Call->getMetadata(LLVMContext::MD_tbaa))
444 if (const MDNode *M1 = Call1->getMetadata(LLVMContext::MD_tbaa))
445 if (const MDNode *M2 = Call2->getMetadata(LLVMContext::MD_tbaa))
472 static bool matchAccessTags(const MDNode *A, const MDNode *B,
472 static bool matchAccessTags(const MDNode *A, const MDNode *B,
473 const MDNode **GenericTag = nullptr);
475 MDNode *MDNode::getMostGenericTBAA(MDNode *A, MDNode *B) {
475 MDNode *MDNode::getMostGenericTBAA(MDNode *A, MDNode *B) {
475 MDNode *MDNode::getMostGenericTBAA(MDNode *A, MDNode *B) {
476 const MDNode *GenericTag;
481 static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
481 static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
481 static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
488 SmallSetVector<const MDNode *, 4> PathA;
497 SmallSetVector<const MDNode *, 4> PathB;
509 const MDNode *Ret = nullptr;
525 MDNode::getMostGenericTBAA(N.TBAA, getMetadata(LLVMContext::MD_tbaa));
530 N.Scope = MDNode::getMostGenericAliasScope(
537 MDNode::intersect(N.NoAlias, getMetadata(LLVMContext::MD_noalias));
542 static const MDNode *createAccessTag(const MDNode *AccessType) {
542 static const MDNode *createAccessTag(const MDNode *AccessType) {
560 return MDNode::get(AccessType->getContext(), Ops);
566 return MDNode::get(AccessType->getContext(), Ops);
588 const MDNode *CommonType,
589 const MDNode **GenericTag,
657 static bool matchAccessTags(const MDNode *A, const MDNode *B,
657 static bool matchAccessTags(const MDNode *A, const MDNode *B,
658 const MDNode **GenericTag) {
678 const MDNode *CommonType = getLeastCommonType(TagA.getAccessType(),
706 bool TypeBasedAAResult::Aliases(const MDNode *A, const MDNode *B) const {
706 bool TypeBasedAAResult::Aliases(const MDNode *A, const MDNode *B) const {
lib/Analysis/ValueTracking.cpp 438 void llvm::computeKnownBitsFromRangeMetadata(const MDNode &Ranges,
986 if (MDNode *MD =
1462 if (MDNode *MD =
1979 static bool rangeMetadataExcludesValue(const MDNode* Ranges, const APInt& Value) {
2042 if (MDNode *Ranges = Q.IIQ.getMetadata(I, LLVMContext::MD_range)) {
5708 if (auto *Range = IIQ.getMetadata(I, LLVMContext::MD_range))
lib/Analysis/VectorUtils.cpp 511 static void addToAccessGroupList(ListT &List, MDNode *AccGroups) {
520 auto *Item = cast<MDNode>(AccGroupListOp.get());
520 auto *Item = cast<MDNode>(AccGroupListOp.get());
526 MDNode *llvm::uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2) {
526 MDNode *llvm::uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2) {
526 MDNode *llvm::uniteAccessGroups(MDNode *AccGroups1, MDNode *AccGroups2) {
541 return cast<MDNode>(Union.front());
544 return MDNode::get(Ctx, Union.getArrayRef());
547 MDNode *llvm::intersectAccessGroups(const Instruction *Inst1,
559 MDNode *MD1 = Inst1->getMetadata(LLVMContext::MD_access_group);
560 MDNode *MD2 = Inst2->getMetadata(LLVMContext::MD_access_group);
577 auto *Item = cast<MDNode>(Node.get());
577 auto *Item = cast<MDNode>(Node.get());
587 return cast<MDNode>(Intersection.front());
590 return MDNode::get(Ctx, Intersection);
596 SmallVector<std::pair<unsigned, MDNode *>, 4> Metadata;
603 MDNode *MD = I0->getMetadata(Kind);
607 MDNode *IMD = IJ->getMetadata(Kind);
610 MD = MDNode::getMostGenericTBAA(MD, IMD);
613 MD = MDNode::getMostGenericAliasScope(MD, IMD);
616 MD = MDNode::getMostGenericFPMath(MD, IMD);
621 MD = MDNode::intersect(MD, IMD);
lib/AsmParser/LLParser.cpp 227 MDNode *MD = Inst->getMetadata(LLVMContext::MD_tbaa);
229 auto *UpgradedMD = UpgradeTBAANode(*MD);
485 std::vector<std::pair<unsigned, MDNode *>> MDs;
488 MDNode *N;
675 bool LLParser::ParseMDNodeID(MDNode *&Result) {
712 MDNode *N = nullptr;
737 MDNode *Init;
2020 bool LLParser::ParseMetadataAttachment(unsigned &Kind, MDNode *&MD) {
2038 MDNode *N;
2055 MDNode *N;
3723 bool LLParser::ParseMDTuple(MDNode *&MD, bool IsDistinct) {
3736 bool LLParser::ParseMDNode(MDNode *&N) {
3744 bool LLParser::ParseMDNodeTail(MDNode *&N) {
4374 bool LLParser::ParseSpecializedMDNode(MDNode *&N, bool IsDistinct) {
4410 bool LLParser::ParseDILocation(MDNode *&Result, bool IsDistinct) {
4428 bool LLParser::ParseGenericDINode(MDNode *&Result, bool IsDistinct) {
4444 bool LLParser::ParseDISubrange(MDNode *&Result, bool IsDistinct) {
4465 bool LLParser::ParseDIEnumerator(MDNode *&Result, bool IsDistinct) {
4488 bool LLParser::ParseDIBasicType(MDNode *&Result, bool IsDistinct) {
4509 bool LLParser::ParseDIDerivedType(MDNode *&Result, bool IsDistinct) {
4538 bool LLParser::ParseDICompositeType(MDNode *&Result, bool IsDistinct) {
4581 bool LLParser::ParseDISubroutineType(MDNode *&Result, bool IsDistinct) {
4599 bool LLParser::ParseDIFile(MDNode *&Result, bool IsDistinct) {
4632 bool LLParser::ParseDICompileUnit(MDNode *&Result, bool IsDistinct) {
4675 bool LLParser::ParseDISubprogram(MDNode *&Result, bool IsDistinct) {
4723 bool LLParser::ParseDILexicalBlock(MDNode *&Result, bool IsDistinct) {
4739 bool LLParser::ParseDILexicalBlockFile(MDNode *&Result, bool IsDistinct) {
4754 bool LLParser::ParseDICommonBlock(MDNode *&Result, bool IsDistinct) {
4772 bool LLParser::ParseDINamespace(MDNode *&Result, bool IsDistinct) {
4787 bool LLParser::ParseDIMacro(MDNode *&Result, bool IsDistinct) {
4803 bool LLParser::ParseDIMacroFile(MDNode *&Result, bool IsDistinct) {
4820 bool LLParser::ParseDIModule(MDNode *&Result, bool IsDistinct) {
4837 bool LLParser::ParseDITemplateTypeParameter(MDNode *&Result, bool IsDistinct) {
4852 bool LLParser::ParseDITemplateValueParameter(MDNode *&Result, bool IsDistinct) {
4871 bool LLParser::ParseDIGlobalVariable(MDNode *&Result, bool IsDistinct) {
4902 bool LLParser::ParseDILocalVariable(MDNode *&Result, bool IsDistinct) {
4923 bool LLParser::ParseDILabel(MDNode *&Result, bool IsDistinct) {
4939 bool LLParser::ParseDIExpression(MDNode *&Result, bool IsDistinct) {
4986 bool LLParser::ParseDIGlobalVariableExpression(MDNode *&Result,
5002 bool LLParser::ParseDIObjCProperty(MDNode *&Result, bool IsDistinct) {
5023 bool LLParser::ParseDIImportedEntity(MDNode *&Result, bool IsDistinct) {
5093 MDNode *N;
5122 MDNode *N;
lib/AsmParser/LLParser.h 337 bool ParseMDNodeID(MDNode *&Result);
520 bool ParseMDTuple(MDNode *&MD, bool IsDistinct = false);
521 bool ParseMDNode(MDNode *&N);
522 bool ParseMDNodeTail(MDNode *&N);
524 bool ParseMetadataAttachment(unsigned &Kind, MDNode *&MD);
536 bool ParseSpecializedMDNode(MDNode *&N, bool IsDistinct = false);
lib/Bitcode/Reader/BitcodeReader.cpp 2927 for (const MDOperand &MDOptions : cast<MDNode>(Val)->operands())
2928 LinkerOpts->addOperand(cast<MDNode>(MDOptions));
3847 MDNode *Scope = nullptr, *IA = nullptr;
3849 Scope = dyn_cast_or_null<MDNode>(
3855 IA = dyn_cast_or_null<MDNode>(
5274 MDNode *TBAA = I.getMetadata(LLVMContext::MD_tbaa);
lib/Bitcode/Reader/MetadataLoader.cpp 180 MDNode *getMDNodeFwdRefOrNull(unsigned Idx);
203 if (auto *MDN = dyn_cast<MDNode>(MD))
203 if (auto *MDN = dyn_cast<MDNode>(MD))
243 Metadata *MD = MDNode::getTemporary(Context, None).release();
250 if (auto *N = dyn_cast_or_null<MDNode>(MD))
250 if (auto *N = dyn_cast_or_null<MDNode>(MD))
256 MDNode *BitcodeReaderMetadataList::getMDNodeFwdRefOrNull(unsigned Idx) {
257 return dyn_cast_or_null<MDNode>(getMetadataFwdRef(Idx));
294 auto *N = dyn_cast_or_null<MDNode>(MD);
294 auto *N = dyn_cast_or_null<MDNode>(MD);
325 Ref = MDNode::getTemporary(Context, None);
386 auto *N = dyn_cast_or_null<MDNode>(MD);
386 auto *N = dyn_cast_or_null<MDNode>(MD);
405 if (auto *MDN = dyn_cast<MDNode>(MD))
405 if (auto *MDN = dyn_cast<MDNode>(MD))
514 SmallVector<MDNode *, 1> MDs;
517 for (auto *MD : MDs)
816 MDNode *MD = MetadataList.getMDNodeFwdRefOrNull(Record[i]);
990 auto *N = cast<MDNode>(MD);
990 auto *N = cast<MDNode>(MD);
1127 MDNode *MD = MetadataList.getMDNodeFwdRefOrNull(Record[i]);
1144 MetadataList.assignValue(MDNode::get(Context, None), NextMetadataNo);
1186 MetadataList.assignValue(MDNode::get(Context, Elts), NextMetadataNo);
1212 MetadataList.assignValue(IsDistinct ? MDNode::getDistinct(Context, Elts)
1213 : MDNode::get(Context, Elts),
1968 MDNode *MD = MetadataList.getMDNodeFwdRefOrNull(Record[I + 1]);
2047 MDNode *MD = dyn_cast_or_null<MDNode>(Node);
2047 MDNode *MD = dyn_cast_or_null<MDNode>(Node);
lib/Bitcode/Writer/BitcodeWriter.cpp 1947 for (const MDNode *N : NMD.operands())
2017 if (const MDNode *N = dyn_cast<MDNode>(MD)) {
2017 if (const MDNode *N = dyn_cast<MDNode>(MD)) {
2147 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
2168 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
lib/Bitcode/Writer/ValueEnumerator.cpp 379 SmallVector<std::pair<unsigned, MDNode *>, 8> MDs;
581 SmallVector<const MDNode *, 64> Worklist;
595 if (auto *N = dyn_cast<MDNode>(MD.first))
614 SmallVector<const MDNode *, 32> DelayedDistinctNodes;
618 SmallVector<std::pair<const MDNode *, MDNode::op_iterator>, 32> Worklist;
618 SmallVector<std::pair<const MDNode *, MDNode::op_iterator>, 32> Worklist;
619 if (const MDNode *N = enumerateMetadataImpl(F, MD))
623 const MDNode *N = Worklist.back().first;
627 MDNode::op_iterator I = std::find_if(
631 auto *Op = cast<MDNode>(*I);
631 auto *Op = cast<MDNode>(*I);
650 for (const MDNode *N : DelayedDistinctNodes)
657 const MDNode *ValueEnumerator::enumerateMetadataImpl(unsigned F, const Metadata *MD) {
675 if (auto *N = dyn_cast<MDNode>(MD))
716 auto *N = dyn_cast<MDNode>(MD);
lib/Bitcode/Writer/ValueEnumerator.h 265 const MDNode *enumerateMetadataImpl(unsigned F, const Metadata *MD);
lib/CodeGen/AsmPrinter/AsmPrinter.cpp 2055 const MDNode *N = NMD->getOperand(i);
2077 const MDNode *N = NMD->getOperand(i);
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp 51 const MDNode *LocInfo = nullptr;
73 const MDNode *LocMDNode) const {
111 const MDNode *LocMDNode,
497 const MDNode *LocMD = nullptr;
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp 770 const MDNode *Node = *CUs->operands().begin();
827 const MDNode *Node = *CUs->operands().begin(); // FIXME: Multiple CUs.
2860 if (MDNode *MD = MI.getHeapAllocMarker()) {
2991 for (const MDNode *Node : CUs->operands()) {
3058 for (const MDNode *Node : CUs->operands()) {
lib/CodeGen/AsmPrinter/CodeViewDebug.h 150 std::vector<std::pair<MCSymbol *, MDNode *>> Annotations;
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp 793 for (const auto *IE : ImportedEntities[Scope->getScopeNode()])
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h 61 using ImportedEntityList = SmallVector<const MDNode *, 8>;
62 using ImportedEntityMap = DenseMap<const MDNode *, ImportedEntityList>;
79 DenseMap<const MDNode *, DIE *> AbstractSPDies;
91 DenseMap<const MDNode *, DIE *> &getAbstractSPDies() {
lib/CodeGen/AsmPrinter/DwarfDebug.cpp 1245 const MDNode *ScopeNode) {
1254 const DINode *Node, const MDNode *ScopeNode) {
1665 const MDNode *Scope = DL.getScope();
1691 const MDNode *Scope = nullptr;
1718 const MDNode *Scope = DL.getScope();
1740 const MDNode *S, unsigned Flags, unsigned CUID,
1861 const MDNode *Scope = nullptr;
1899 void DwarfDebug::recordSourceLine(unsigned Line, unsigned Col, const MDNode *S,
lib/CodeGen/AsmPrinter/DwarfDebug.h 297 MapVector<const MDNode *, DwarfCompileUnit *> CUMap;
339 DenseMap<const MDNode *, uint64_t> TypeSignatures;
426 const MDNode *Scope);
429 const MDNode *Scope);
564 void recordSourceLine(unsigned Line, unsigned Col, const MDNode *Scope,
lib/CodeGen/AsmPrinter/DwarfFile.h 98 DenseMap<const MDNode *, DIE *> AbstractSPDies;
104 DenseMap<const MDNode *, DIE *> DITypeNodeToDieMap;
173 DenseMap<const MDNode *, DIE *> &getAbstractSPDies() {
181 void insertDIE(const MDNode *TypeMD, DIE *Die) {
185 DIE *getDIE(const MDNode *TypeMD) {
lib/CodeGen/AsmPrinter/DwarfUnit.cpp 680 DIE *DwarfUnit::getOrCreateTypeDIE(const MDNode *TyNode) {
lib/CodeGen/AsmPrinter/DwarfUnit.h 63 DenseMap<const MDNode *, DIE *> MDNodeToDieMap;
237 DIE *getOrCreateTypeDIE(const MDNode *TyNode);
lib/CodeGen/GlobalISel/GISelKnownBits.cpp 296 if (const MDNode *Ranges = MMO->getRanges()) {
lib/CodeGen/GlobalISel/IRTranslator.cpp 884 const MDNode *Ranges =
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp 90 MachineIRBuilder::buildDirectDbgValue(Register Reg, const MDNode *Variable,
91 const MDNode *Expr) {
103 MachineIRBuilder::buildIndirectDbgValue(Register Reg, const MDNode *Variable,
104 const MDNode *Expr) {
120 const MDNode *Variable,
121 const MDNode *Expr) {
139 const MDNode *Variable,
140 const MDNode *Expr) {
162 MachineInstrBuilder MachineIRBuilder::buildDbgLabel(const MDNode *Label) {
lib/CodeGen/ImplicitNullChecks.cpp 464 MDNode *BranchMD = nullptr;
lib/CodeGen/LexicalScopes.cpp 326 const MDNode *N = Desc;
lib/CodeGen/MIRParser/MIParser.cpp 403 bool parseStandaloneMDNode(MDNode *&Node);
442 bool parseMDNode(MDNode *&Node);
443 bool parseDIExpression(MDNode *&Expr);
444 bool parseDILocation(MDNode *&Expr);
939 MDNode *Node = nullptr;
1057 bool MIParser::parseStandaloneMDNode(MDNode *&Node) {
1827 bool MIParser::parseMDNode(MDNode *&Node) {
1845 bool MIParser::parseDIExpression(MDNode *&Expr) {
1891 bool MIParser::parseDILocation(MDNode *&Loc) {
1898 MDNode *Scope = nullptr;
1899 MDNode *InlinedAt = nullptr;
1995 MDNode *Node = nullptr;
2897 MDNode *Range = nullptr;
3087 MDNode *&Node, StringRef Src, SMDiagnostic &Error) {
lib/CodeGen/MIRParser/MIRParser.cpp 140 bool parseMDNode(PerFunctionMIParsingState &PFS, MDNode *&Node,
763 static bool typecheckMDNode(T *&Result, MDNode *Node,
781 MDNode *Var = nullptr, *Expr = nullptr, *Loc = nullptr;
800 MDNode *&Node, const yaml::StringValue &Source) {
lib/CodeGen/MachineFunction.cpp 402 unsigned base_alignment, const AAMDNodes &AAInfo, const MDNode *Ranges,
452 MCSymbol *PostInstrSymbol, MDNode *HeapAllocMarker) {
lib/CodeGen/MachineInstr.cpp 323 MDNode *HeapAllocMarker) {
497 void MachineInstr::setHeapAllocMarker(MachineFunction &MF, MDNode *Marker) {
1704 if (MDNode *HeapAllocMarker = getHeapAllocMarker()) {
1994 const MDNode *LocMD = nullptr;
2015 Register Reg, const MDNode *Variable,
2016 const MDNode *Expr) {
2031 MachineOperand &MO, const MDNode *Variable,
2032 const MDNode *Expr) {
lib/CodeGen/MachineOperand.cpp 1019 const MDNode *Ranges, SyncScope::ID SSID,
lib/CodeGen/MachinePipeliner.cpp 275 MDNode *LoopID = TI->getMetadata(LLVMContext::MD_loop);
283 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
283 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
lib/CodeGen/SafeStack.cpp 470 MDNode *Weights = MDBuilder(F.getContext())
lib/CodeGen/SelectionDAG/FastISel.cpp 1242 if (MDNode *MD = CLI.CS->getInstruction()->getMetadata("heapallocsite"))
2414 const MDNode *Ranges = I->getMetadata(LLVMContext::MD_range);
lib/CodeGen/SelectionDAG/InstrEmitter.cpp 679 MDNode *Var = SD->getVariable();
766 MDNode *Label = SD->getLabel();
1147 const MDNode *MD = cast<MDNodeSDNode>(MDV)->getMD();
lib/CodeGen/SelectionDAG/SDNodeDbgValue.h 145 MDNode *Label;
150 SDDbgLabel(MDNode *Label, DebugLoc dl, unsigned O)
154 MDNode *getLabel() const { return Label; }
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp 913 if (MDNode *MD = DAG->getHeapAllocSite(N))
926 if (MDNode *MD = DAG->getHeapAllocSite(SU->getNode())) {
lib/CodeGen/SelectionDAG/SelectionDAG.cpp 1843 SDValue SelectionDAG::getMDNode(const MDNode *MD) {
2977 } else if (const MDNode *Ranges = LD->getRanges()) {
6699 const AAMDNodes &AAInfo, const MDNode *Ranges) {
6771 const AAMDNodes &AAInfo, const MDNode *Ranges) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 4032 const MDNode *Ranges = I.getMetadata(LLVMContext::MD_range);
4463 const MDNode *Ranges = I.getMetadata(LLVMContext::MD_range);
4506 const MDNode *Ranges = I.getMetadata(LLVMContext::MD_range);
5676 DAG.getMDNode(cast<MDNode>(cast<MetadataAsValue>(Reg)->getMetadata()));
5689 DAG.getMDNode(cast<MDNode>(cast<MetadataAsValue>(Reg)->getMetadata()));
6438 MF.addCodeViewAnnotation(Label, cast<MDNode>(MD));
8183 const MDNode *SrcLoc = CS.getInstruction()->getMetadata("srcloc");
8579 const MDNode *Range = I.getMetadata(LLVMContext::MD_range);
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 595 const MDNode *Variable = MI->getDebugVariable();
596 const MDNode *Expr = MI->getDebugExpression();
lib/CodeGen/StackProtector.cpp 509 MDNode *Weights = MDBuilder(F->getContext())
lib/CodeGen/TargetLoweringObjectFileImpl.cpp 277 if (cast<MDNode>(Operand)->getNumOperands() != 2)
279 for (const auto &Option : cast<MDNode>(Operand)->operands()) {
294 cast<MDString>(cast<MDNode>(Operand)->getOperand(0))->getString());
316 MDNode *CFGProfile = nullptr;
321 CFGProfile = cast<MDNode>(MFE.Val);
338 MDNode *E = cast<MDNode>(Edge);
338 MDNode *E = cast<MDNode>(Edge);
517 MDNode *MD = GO->getMetadata(LLVMContext::MD_associated);
890 for (const auto &Piece : cast<MDNode>(Option)->operands())
1453 for (const auto &Piece : cast<MDNode>(Option)->operands()) {
lib/ExecutionEngine/Orc/IndirectionUtils.cpp 369 for (auto *MF : MFs->operands())
lib/IR/AbstractCallSite.cpp 74 MDNode *CallbackMD = Callee->getMetadata(LLVMContext::MD_callback);
82 MDNode *CallbackEncMD = nullptr;
84 MDNode *OpMD = cast<MDNode>(Op.get());
84 MDNode *OpMD = cast<MDNode>(Op.get());
lib/IR/AsmWriter.cpp 696 DenseMap<const MDNode*, unsigned> mdnMap;
742 int getMetadataSlot(const MDNode *N);
763 using mdn_iterator = DenseMap<const MDNode*, unsigned>::iterator;
791 void CreateMetadataSlot(const MDNode *N);
1052 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
1073 if (MDNode *N = dyn_cast<MDNode>(V->getMetadata()))
1073 if (MDNode *N = dyn_cast<MDNode>(V->getMetadata()))
1077 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
1105 int SlotTracker::getMetadataSlot(const MDNode *N) {
1192 void SlotTracker::CreateMetadataSlot(const MDNode *N) {
1206 if (const MDNode *Op = dyn_cast_or_null<MDNode>(N->getOperand(i)))
1206 if (const MDNode *Op = dyn_cast_or_null<MDNode>(N->getOperand(i)))
2203 static void WriteMDNodeBodyInternal(raw_ostream &Out, const MDNode *Node,
2314 if (const MDNode *N = dyn_cast<MDNode>(MD)) {
2314 if (const MDNode *N = dyn_cast<MDNode>(MD)) {
2379 void printMDNodeBody(const MDNode *MD);
2398 void writeMDNode(unsigned Slot, const MDNode *Node);
2437 const SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs,
3169 MDNode *Op = NMD->getOperand(i);
3307 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
3427 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
3526 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
4078 SmallVector<std::pair<unsigned, MDNode *>, 4> InstMD;
4087 const SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs,
4108 void AssemblyWriter::writeMDNode(unsigned Slot, const MDNode *Node) {
4115 SmallVector<const MDNode *, 16> Nodes;
4119 Nodes[I->second] = cast<MDNode>(I->first);
4126 void AssemblyWriter::printMDNodeBody(const MDNode *Node) {
4275 if (isa<MDNode>(V->getMetadata()))
4391 auto *N = dyn_cast<MDNode>(&MD);
4400 ModuleSlotTracker MST(M, isa<MDNode>(this));
4411 ModuleSlotTracker MST(M, isa<MDNode>(this));
lib/IR/AutoUpgrade.cpp 1673 MDNode *Node = MDNode::get(C, Elts);
1673 MDNode *Node = MDNode::get(C, Elts);
1700 MDNode *Node = MDNode::get(C, Elts);
1700 MDNode *Node = MDNode::get(C, Elts);
3024 MDNode *Node = MDNode::get(
3024 MDNode *Node = MDNode::get(
3743 MDNode *llvm::UpgradeTBAANode(MDNode &MD) {
3743 MDNode *llvm::UpgradeTBAANode(MDNode &MD) {
3745 if (isa<MDNode>(MD.getOperand(0)) && MD.getNumOperands() >= 3)
3751 MDNode *ScalarType = MDNode::get(Context, Elts);
3751 MDNode *ScalarType = MDNode::get(Context, Elts);
3757 return MDNode::get(Context, Elts2);
3762 return MDNode::get(Context, Elts);
3840 MDNode *Op = ModRetainReleaseMarker->getOperand(0);
3987 MDNode *Op = ModFlags->getOperand(I);
4008 ModFlags->setOperand(I, MDNode::get(M.getContext(), Ops));
4026 ModFlags->setOperand(I, MDNode::get(M.getContext(), Ops));
4122 MDNode *llvm::upgradeInstructionLoopAttachment(MDNode &N) {
4122 MDNode *llvm::upgradeInstructionLoopAttachment(MDNode &N) {
lib/IR/BasicBlock.cpp 481 if (MDNode *MDIrrLoopHeader =
lib/IR/ConstantRange.cpp 1494 ConstantRange llvm::getConstantRangeFromMetadata(const MDNode &Ranges) {
lib/IR/Core.cpp 866 if (auto *MD = I->getMetadata(KindID))
874 static MDNode *extractMDNode(MetadataAsValue *MAV) {
879 if (MDNode *N = dyn_cast<MDNode>(MD))
879 if (MDNode *N = dyn_cast<MDNode>(MD))
882 return MDNode::get(MAV->getContext(), MD);
886 MDNode *N = Val ? extractMDNode(unwrap<MetadataAsValue>(Val)) : nullptr;
896 using MetadataEntries = SmallVectorImpl<std::pair<unsigned, MDNode *>>;
900 SmallVector<std::pair<unsigned, MDNode *>, 8> MVEs;
934 if (isa<MDNode>(MD->getMetadata()) ||
973 static LLVMValueRef getMDNodeOperandImpl(LLVMContext &Context, const MDNode *N,
991 cast<MDNode>(MD->getMetadata()), Index);
1055 return wrap(MDNode::get(*unwrap(C), ArrayRef<Metadata*>(unwrap(MDs), Count)));
1093 return wrap(MetadataAsValue::get(Context, MDNode::get(Context, MDs)));
1127 return cast<MDNode>(MD->getMetadata())->getNumOperands();
1184 const auto *N = cast<MDNode>(MD->getMetadata());
1184 const auto *N = cast<MDNode>(MD->getMetadata());
2055 unwrap<GlobalObject>(Global)->setMetadata(Kind, unwrap<MDNode>(MD));
3041 unwrap(Builder)->SetCurrentDebugLocation(DebugLoc(unwrap<MDNode>(Loc)));
3047 MDNode *Loc =
3048 L ? cast<MDNode>(unwrap<MetadataAsValue>(L)->getMetadata()) : nullptr;
3066 ? unwrap<MDNode>(FPMathTag)
lib/IR/DIBuilder.cpp 38 void DIBuilder::trackIfUnresolved(MDNode *N) {
389 DIType *Ty, MDNode *PropertyNode) {
447 DIType *VTableHolder, MDNode *TemplateParams, StringRef UniqueIdentifier) {
539 return MDNode::replaceWithDistinct(std::move(NewSP));
545 return MDNode::replaceWithUniqued(std::move(NewTy));
614 if (Elements[i] && isa<MDNode>(Elements[i]))
619 return DITypeRefArray(MDNode::get(VMContext, Elts));
642 MDNode *Decl, MDTuple *templateParams, uint32_t AlignInBits) {
658 unsigned LineNumber, DIType *Ty, bool isLocalToUnit, MDNode *Decl,
671 DenseMap<MDNode *, SmallVector<TrackingMDNodeRef, 1>> &PreservedVariables,
996 if (auto *N = dyn_cast_or_null<MDNode>(O))
996 if (auto *N = dyn_cast_or_null<MDNode>(O))
lib/IR/DebugInfo.cpp 43 DISubprogram *llvm::getDISubprogram(const MDNode *Scope) {
199 auto *N = dyn_cast<MDNode>(DDI->getVariable());
199 auto *N = dyn_cast<MDNode>(DDI->getVariable());
214 auto *N = dyn_cast<MDNode>(DVI->getVariable());
214 auto *N = dyn_cast<MDNode>(DVI->getVariable());
281 static MDNode *stripDebugLocFromLoopID(MDNode *N) {
281 static MDNode *stripDebugLocFromLoopID(MDNode *N) {
299 auto TempNode = MDNode::getTemporary(N->getContext(), None);
308 MDNode *LoopID = MDNode::get(N->getContext(), Args);
308 MDNode *LoopID = MDNode::get(N->getContext(), Args);
320 DenseMap<MDNode*, MDNode*> LoopIDsMap;
320 DenseMap<MDNode*, MDNode*> LoopIDsMap;
339 if (auto *LoopID = TermInst->getMetadata(LLVMContext::MD_loop)) {
340 auto *NewLoopID = LoopIDsMap.lookup(LoopID);
388 MDNode *EmptySubroutineType;
407 MDNode::get(C, {}))) {}
418 MDNode *mapNode(Metadata *N) { return dyn_cast_or_null<MDNode>(map(N)); }
418 MDNode *mapNode(Metadata *N) { return dyn_cast_or_null<MDNode>(map(N)); }
422 void traverseAndRemap(MDNode *N) { traverse(N); }
506 MDNode *getReplacementMDNode(MDNode *N) {
506 MDNode *getReplacementMDNode(MDNode *N) {
512 auto *Ret = MDNode::get(N->getContext(), Ops);
517 void remap(MDNode *N) {
551 void traverse(MDNode *);
556 void DebugTypeInfoRemoval::traverse(MDNode *N) {
568 SmallVector<MDNode *, 16> ToVisit;
569 DenseSet<MDNode *> Opened;
574 auto *N = ToVisit.back();
582 if (auto *MDN = dyn_cast_or_null<MDNode>(I))
582 if (auto *MDN = dyn_cast_or_null<MDNode>(I))
623 auto *NewNode = Mapper.mapNode(Node);
641 auto *Scope = DL.getScope();
642 MDNode *InlinedAt = DL.getInlinedAt();
652 SmallVector<std::pair<unsigned, MDNode *>, 2> MDs;
667 SmallVector<MDNode *, 8> Ops;
668 for (MDNode *Op : NMD.operands())
675 for (auto *Op : Ops)
709 template <typename DIT> DIT *unwrapDI(LLVMMetadataRef Ref) {
710 return (DIT *)(Ref ? unwrap<MDNode>(Ref) : nullptr);
1084 unwrapDI<MDNode>(PropertyNode)));
1218 unwrapDI<MDNode>(TemplateParamsNode),
1293 unwrap<DIExpression>(Expr), unwrapDI<MDNode>(Decl),
1325 MDNode::deleteTemporary(unwrapDI<MDNode>(TempNode));
1325 MDNode::deleteTemporary(unwrapDI<MDNode>(TempNode));
1330 auto *Node = unwrapDI<MDNode>(TargetMetadata);
1330 auto *Node = unwrapDI<MDNode>(TargetMetadata);
1332 MDNode::deleteTemporary(Node);
1343 unwrapDI<MDNode>(Decl), nullptr, AlignInBits));
1439 unwrap<Instruction>(Inst)->setDebugLoc(DebugLoc(unwrap<MDNode>(Loc)));
lib/IR/DebugLoc.cpp 19 DebugLoc::DebugLoc(const MDNode *L) : Loc(const_cast<MDNode *>(L)) {}
35 MDNode *DebugLoc::getScope() const {
45 MDNode *DebugLoc::getInlinedAtScope() const {
51 const MDNode *Scope = getInlinedAtScope();
71 DebugLoc DebugLoc::get(unsigned Line, unsigned Col, const MDNode *Scope,
72 const MDNode *InlinedAt, bool ImplicitCode) {
84 DenseMap<const MDNode *, MDNode *> &Cache,
84 DenseMap<const MDNode *, MDNode *> &Cache,
93 if (auto *Found = Cache[IA]) {
lib/IR/DiagnosticInfo.cpp 57 if (const MDNode *SrcLoc = I.getMetadata("srcloc")) {
lib/IR/Function.cpp 1548 MDNode *MD = getMetadata(LLVMContext::MD_prof);
1571 if (MDNode *MD = getMetadata(LLVMContext::MD_prof))
1588 if (MDNode *MD = getMetadata(LLVMContext::MD_section_prefix)) {
lib/IR/Globals.cpp 307 MDNode *MD = GO->getMetadata(LLVMContext::MD_absolute_symbol);
lib/IR/IRBuilder.cpp 101 bool isVolatile, MDNode *TBAATag, MDNode *ScopeTag,
101 bool isVolatile, MDNode *TBAATag, MDNode *ScopeTag,
102 MDNode *NoAliasTag) {
129 MDNode *TBAATag, MDNode *ScopeTag, MDNode *NoAliasTag) {
129 MDNode *TBAATag, MDNode *ScopeTag, MDNode *NoAliasTag) {
129 MDNode *TBAATag, MDNode *ScopeTag, MDNode *NoAliasTag) {
159 Value *Size, bool isVolatile, MDNode *TBAATag,
160 MDNode *TBAAStructTag, MDNode *ScopeTag, MDNode *NoAliasTag) {
160 MDNode *TBAAStructTag, MDNode *ScopeTag, MDNode *NoAliasTag) {
160 MDNode *TBAAStructTag, MDNode *ScopeTag, MDNode *NoAliasTag) {
198 uint32_t ElementSize, MDNode *TBAATag, MDNode *TBAAStructTag,
198 uint32_t ElementSize, MDNode *TBAATag, MDNode *TBAAStructTag,
199 MDNode *ScopeTag, MDNode *NoAliasTag) {
199 MDNode *ScopeTag, MDNode *NoAliasTag) {
239 Value *Size, bool isVolatile, MDNode *TBAATag, MDNode *ScopeTag,
239 Value *Size, bool isVolatile, MDNode *TBAATag, MDNode *ScopeTag,
240 MDNode *NoAliasTag) {
274 uint32_t ElementSize, MDNode *TBAATag, MDNode *TBAAStructTag,
274 uint32_t ElementSize, MDNode *TBAATag, MDNode *TBAAStructTag,
275 MDNode *ScopeTag, MDNode *NoAliasTag) {
275 MDNode *ScopeTag, MDNode *NoAliasTag) {
lib/IR/Instruction.cpp 692 MDNode *ProfileData = getMetadata(LLVMContext::MD_prof);
705 MDNode::get(ProfileData->getContext(), Ops));
719 SmallVector<std::pair<unsigned, MDNode *>, 4> TheMDs;
lib/IR/Instructions.cpp 467 auto *ProfileData = getMetadata(LLVMContext::MD_prof);
512 setMetadata(LLVMContext::MD_prof, MDNode::get(getContext(), Vals));
2438 const MDNode *MD =
3891 MDNode *
3893 if (MDNode *ProfileData = SI.getMetadata(LLVMContext::MD_prof))
3900 MDNode *SwitchInstProfUpdateWrapper::buildProfBranchWeightsMD() {
3919 MDNode *ProfileData = getProfBranchWeightsMD(SI);
4006 if (MDNode *ProfileData = getProfBranchWeightsMD(SI))
lib/IR/LLVMContextImpl.cpp 60 for (auto *I : DistinctMDNodes)
74 for (MDNode *I : DistinctMDNodes)
182 unsigned MDNodeOpsKey::calculateHash(MDNode *N, unsigned Offset) {
lib/IR/LLVMContextImpl.h 229 static unsigned calculateHash(MDNode *N, unsigned Offset = 0);
233 static bool compareOps(ArrayRef<T> Ops, const MDNode *RHS, unsigned Offset) {
1183 MDNode *lookup(unsigned ID) const;
1189 void set(unsigned ID, MDNode &MD);
1200 void getAll(SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const;
1227 void get(unsigned ID, SmallVectorImpl<MDNode *> &Result) const;
1231 MDNode *lookup(unsigned ID) const;
1233 void insert(unsigned ID, MDNode &MD);
1239 void getAll(SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const;
1289 std::vector<MDNode *> DistinctMDNodes;
1367 int getOrAddScopeRecordIdxEntry(MDNode *N, int ExistingIdx);
1368 int getOrAddScopeInlinedAtIdxEntry(MDNode *Scope, MDNode *IA,int ExistingIdx);
1368 int getOrAddScopeInlinedAtIdxEntry(MDNode *Scope, MDNode *IA,int ExistingIdx);
lib/IR/MDBuilder.cpp 28 MDNode *MDBuilder::createFPMath(float Accuracy) {
34 return MDNode::get(Context, Op);
37 MDNode *MDBuilder::createBranchWeights(uint32_t TrueWeight,
42 MDNode *MDBuilder::createBranchWeights(ArrayRef<uint32_t> Weights) {
52 return MDNode::get(Context, Vals);
55 MDNode *MDBuilder::createUnpredictable() {
56 return MDNode::get(Context, None);
59 MDNode *MDBuilder::createFunctionEntryCount(
75 return MDNode::get(Context, Ops);
78 MDNode *MDBuilder::createFunctionSectionPrefix(StringRef Prefix) {
79 return MDNode::get(Context,
84 MDNode *MDBuilder::createRange(const APInt &Lo, const APInt &Hi) {
91 MDNode *MDBuilder::createRange(Constant *Lo, Constant *Hi) {
97 return MDNode::get(Context, {createConstant(Lo), createConstant(Hi)});
100 MDNode *MDBuilder::createCallees(ArrayRef<Function *> Callees) {
104 return MDNode::get(Context, Ops);
107 MDNode *MDBuilder::createCallbackEncoding(unsigned CalleeArgNo,
121 return MDNode::get(Context, Ops);
124 MDNode *MDBuilder::mergeCallbackEncodings(MDNode *ExistingCallbacks,
124 MDNode *MDBuilder::mergeCallbackEncodings(MDNode *ExistingCallbacks,
125 MDNode *NewCB) {
127 return MDNode::get(Context, {NewCB});
150 return MDNode::get(Context, Ops);
153 MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) {
153 MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) {
155 auto Dummy = MDNode::getTemporary(Context, None);
162 MDNode *Root = MDNode::get(Context, Args);
162 MDNode *Root = MDNode::get(Context, Args);
175 MDNode *MDBuilder::createTBAARoot(StringRef Name) {
176 return MDNode::get(Context, createString(Name));
181 MDNode *MDBuilder::createTBAANode(StringRef Name, MDNode *Parent,
181 MDNode *MDBuilder::createTBAANode(StringRef Name, MDNode *Parent,
185 return MDNode::get(Context,
188 return MDNode::get(Context, {createString(Name), Parent});
191 MDNode *MDBuilder::createAliasScopeDomain(StringRef Name) {
192 return MDNode::get(Context, createString(Name));
195 MDNode *MDBuilder::createAliasScope(StringRef Name, MDNode *Domain) {
195 MDNode *MDBuilder::createAliasScope(StringRef Name, MDNode *Domain) {
196 return MDNode::get(Context, {createString(Name), Domain});
201 MDNode *MDBuilder::createTBAAStructNode(ArrayRef<TBAAStructField> Fields) {
209 return MDNode::get(Context, Vals);
214 MDNode *MDBuilder::createTBAAStructTypeNode(
215 StringRef Name, ArrayRef<std::pair<MDNode *, uint64_t>> Fields) {
223 return MDNode::get(Context, Ops);
228 MDNode *MDBuilder::createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
228 MDNode *MDBuilder::createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
231 return MDNode::get(Context,
237 MDNode *MDBuilder::createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
237 MDNode *MDBuilder::createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
237 MDNode *MDBuilder::createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
242 return MDNode::get(Context, {BaseType, AccessType, createConstant(Off),
245 return MDNode::get(Context, {BaseType, AccessType, createConstant(Off)});
248 MDNode *MDBuilder::createTBAATypeNode(MDNode *Parent, uint64_t Size,
248 MDNode *MDBuilder::createTBAATypeNode(MDNode *Parent, uint64_t Size,
261 return MDNode::get(Context, Ops);
264 MDNode *MDBuilder::createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
264 MDNode *MDBuilder::createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
264 MDNode *MDBuilder::createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
272 return MDNode::get(Context, {BaseType, AccessType, OffsetNode, SizeNode,
275 return MDNode::get(Context, {BaseType, AccessType, OffsetNode, SizeNode});
278 MDNode *MDBuilder::createMutableTBAAAccessTag(MDNode *Tag) {
278 MDNode *MDBuilder::createMutableTBAAAccessTag(MDNode *Tag) {
279 MDNode *BaseType = cast<MDNode>(Tag->getOperand(0));
279 MDNode *BaseType = cast<MDNode>(Tag->getOperand(0));
280 MDNode *AccessType = cast<MDNode>(Tag->getOperand(1));
280 MDNode *AccessType = cast<MDNode>(Tag->getOperand(1));
284 bool NewFormat = isa<MDNode>(AccessType->getOperand(0));
305 MDNode *MDBuilder::createIrrLoopHeaderWeight(uint64_t Weight) {
310 return MDNode::get(Context, Vals);
313 MDNode *MDBuilder::createMisExpect(uint64_t Index, uint64_t LikleyWeight,
322 return MDNode::get(Context, Vals);
lib/IR/Metadata.cpp 87 return MDNode::get(Context, None);
90 auto *N = dyn_cast<MDNode>(MD);
90 auto *N = dyn_cast<MDNode>(MD);
96 return MDNode::get(Context, None);
304 auto *OwnerMD = dyn_cast<MDNode>(Owner.get<Metadata *>());
304 auto *OwnerMD = dyn_cast<MDNode>(Owner.get<Metadata *>());
314 if (auto *N = dyn_cast<MDNode>(&MD))
314 if (auto *N = dyn_cast<MDNode>(&MD))
320 if (auto *N = dyn_cast<MDNode>(&MD))
320 if (auto *N = dyn_cast<MDNode>(&MD))
326 if (auto *N = dyn_cast<MDNode>(&MD))
493 MDNode *N = static_cast<MDNode *>(Mem);
533 if (auto *N = dyn_cast_or_null<MDNode>(Op))
533 if (auto *N = dyn_cast_or_null<MDNode>(Op))
629 auto *N = dyn_cast_or_null<MDNode>(Op);
629 auto *N = dyn_cast_or_null<MDNode>(Op);
640 static bool hasSelfReference(MDNode *N) {
647 MDNode *MDNode::replaceWithPermanentImpl() {
665 MDNode *MDNode::replaceWithUniquedImpl() {
667 MDNode *UniquedNode = uniquify();
680 MDNode *MDNode::replaceWithDistinctImpl() {
723 auto *Uniqued = uniquify();
781 MDNode *MDNode::uniquify() {
830 void MDNode::deleteTemporary(MDNode *N) {
881 static MDNode *getOrSelfReference(LLVMContext &Context,
884 if (MDNode *N = dyn_cast_or_null<MDNode>(Ops[0]))
884 if (MDNode *N = dyn_cast_or_null<MDNode>(Ops[0]))
888 return MDNode::get(Context, Ops);
892 return MDNode::get(Context, Ops);
895 MDNode *MDNode::concatenate(MDNode *A, MDNode *B) {
895 MDNode *MDNode::concatenate(MDNode *A, MDNode *B) {
895 MDNode *MDNode::concatenate(MDNode *A, MDNode *B) {
909 MDNode *MDNode::intersect(MDNode *A, MDNode *B) {
909 MDNode *MDNode::intersect(MDNode *A, MDNode *B) {
909 MDNode *MDNode::intersect(MDNode *A, MDNode *B) {
922 MDNode *MDNode::getMostGenericAliasScope(MDNode *A, MDNode *B) {
922 MDNode *MDNode::getMostGenericAliasScope(MDNode *A, MDNode *B) {
922 MDNode *MDNode::getMostGenericAliasScope(MDNode *A, MDNode *B) {
929 MDNode *MDNode::getMostGenericFPMath(MDNode *A, MDNode *B) {
929 MDNode *MDNode::getMostGenericFPMath(MDNode *A, MDNode *B) {
929 MDNode *MDNode::getMostGenericFPMath(MDNode *A, MDNode *B) {
977 MDNode *MDNode::getMostGenericRange(MDNode *A, MDNode *B) {
977 MDNode *MDNode::getMostGenericRange(MDNode *A, MDNode *B) {
977 MDNode *MDNode::getMostGenericRange(MDNode *A, MDNode *B) {
1046 return MDNode::get(A->getContext(), MDs);
1049 MDNode *MDNode::getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B) {
1049 MDNode *MDNode::getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B) {
1049 MDNode *MDNode::getMostGenericAlignmentOrDereferenceable(MDNode *A, MDNode *B) {
1080 MDNode *NamedMDNode::getOperand(unsigned i) const {
1083 return cast_or_null<MDNode>(N);
1086 void NamedMDNode::addOperand(MDNode *M) { getNMDOps(Operands).emplace_back(M); }
1088 void NamedMDNode::setOperand(unsigned I, MDNode *New) {
1102 void MDAttachmentMap::set(unsigned ID, MDNode &MD) {
1133 MDNode *MDAttachmentMap::lookup(unsigned ID) const {
1141 SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const {
1149 void MDGlobalAttachmentMap::insert(unsigned ID, MDNode &MD) {
1153 MDNode *MDGlobalAttachmentMap::lookup(unsigned ID) const {
1161 SmallVectorImpl<MDNode *> &Result) const {
1176 SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const {
1185 void Instruction::setMetadata(StringRef Kind, MDNode *Node) {
1191 MDNode *Instruction::getMetadataImpl(StringRef Kind) const {
1222 void Instruction::setMetadata(unsigned KindID, MDNode *Node) {
1267 MDNode *Instruction::getMetadataImpl(unsigned KindID) const {
1281 SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const {
1301 SmallVectorImpl<std::pair<unsigned, MDNode *>> &Result) const {
1317 auto *ProfileData = getMetadata(LLVMContext::MD_prof);
1345 auto *ProfileData = getMetadata(LLVMContext::MD_prof);
1379 SmallVectorImpl<MDNode *> &MDs) const {
1385 SmallVectorImpl<MDNode *> &MDs) const {
1390 void GlobalObject::addMetadata(unsigned KindID, MDNode &MD) {
1397 void GlobalObject::addMetadata(StringRef Kind, MDNode &MD) {
1414 SmallVectorImpl<std::pair<unsigned, MDNode *>> &MDs) const {
1430 void GlobalObject::setMetadata(unsigned KindID, MDNode *N) {
1436 void GlobalObject::setMetadata(StringRef Kind, MDNode *N) {
1440 MDNode *GlobalObject::getMetadata(unsigned KindID) const {
1446 MDNode *GlobalObject::getMetadata(StringRef Kind) const {
1451 SmallVector<std::pair<unsigned, MDNode *>, 8> MDs;
1462 *MDNode::get(getContext(), {NewOffsetMD, TypeId}));
1468 auto *Attachment = MD.second;
1502 *MDNode::get(getContext(),
1508 if (MDNode *MD = getMetadata(LLVMContext::MD_vcall_visibility)) {
1541 SmallVector<MDNode *, 1> MDs;
1543 for (MDNode *MD : MDs)
lib/IR/Module.cpp 294 for (const MDNode *Flag : ModFlags->operands()) {
343 getOrInsertModuleFlagsMetadata()->addOperand(MDNode::get(Context, Ops));
354 void Module::addModuleFlag(MDNode *Node) {
lib/IR/TypeFinder.cpp 49 SmallVector<std::pair<unsigned, MDNode *>, 4> MDForInst;
122 if (const auto *N = dyn_cast<MDNode>(M->getMetadata()))
122 if (const auto *N = dyn_cast<MDNode>(M->getMetadata()))
150 void TypeFinder::incorporateMDNode(const MDNode *V) {
159 if (auto *N = dyn_cast<MDNode>(Op)) {
159 if (auto *N = dyn_cast<MDNode>(Op)) {
lib/IR/Value.cpp 633 if (MDNode *MD = LI->getMetadata(LLVMContext::MD_dereferenceable)) {
638 if (MDNode *MD =
646 if (MDNode *MD = IP->getMetadata(LLVMContext::MD_dereferenceable)) {
651 if (MDNode *MD =
727 if (MDNode *MD = LI->getMetadata(LLVMContext::MD_align)) {
lib/IR/Verifier.cpp 406 void visitMDNode(const MDNode &MD);
413 void visitModuleFlag(const MDNode *Op,
414 DenseMap<const MDString *, const MDNode *> &SeenIDs,
415 SmallVectorImpl<const MDNode *> &Requirements);
419 void visitRangeMetadata(Instruction &I, MDNode *Range, Type *Ty);
420 void visitDereferenceableMetadata(Instruction &I, MDNode *MD);
421 void visitProfMetadata(Instruction &I, MDNode *MD);
431 void visitTemplateParams(const MDNode &N, const Metadata &RawParams);
507 void verifyFunctionMetadata(ArrayRef<std::pair<unsigned, MDNode *>> MDs);
688 SmallVector<MDNode *, 1> MDs;
690 for (auto *MD : MDs) {
777 for (const MDNode *MD : NMD.operands()) {
788 void Verifier::visitMDNode(const MDNode &MD) {
811 if (auto *N = dyn_cast<MDNode>(Op)) {
854 if (auto *N = dyn_cast<MDNode>(MD)) {
854 if (auto *N = dyn_cast<MDNode>(MD)) {
955 void Verifier::visitTemplateParams(const MDNode &N, const Metadata &RawParams) {
1331 for (const MDNode *N : Idents->operands()) {
1349 for (const MDNode *N : CommandLines->operands()) {
1364 DenseMap<const MDString*, const MDNode*> SeenIDs;
1365 SmallVector<const MDNode*, 16> Requirements;
1366 for (const MDNode *MDN : Flags->operands())
1370 for (const MDNode *Requirement : Requirements) {
1374 const MDNode *Op = SeenIDs.lookup(Flag);
1391 Verifier::visitModuleFlag(const MDNode *Op,
1392 DenseMap<const MDString *, const MDNode *> &SeenIDs,
1393 SmallVectorImpl<const MDNode *> &Requirements) {
1430 MDNode *Value = dyn_cast<MDNode>(Op->getOperand(2));
1430 MDNode *Value = dyn_cast<MDNode>(Op->getOperand(2));
1478 for (const MDOperand &MDO : cast<MDNode>(Op->getOperand(2))->operands())
1491 auto Node = dyn_cast_or_null<MDNode>(MDO);
1848 ArrayRef<std::pair<unsigned, MDNode *>> MDs) {
1851 MDNode *MD = Pair.second;
2230 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
2331 SmallPtrSet<const MDNode *, 32> Seen;
2367 VisitDebugLoc(I, dyn_cast_or_null<MDNode>(MD->getOperand(i)));
3321 void Verifier::visitRangeMetadata(Instruction &I, MDNode *Range, Type *Ty) {
4006 void Verifier::visitDereferenceableMetadata(Instruction& I, MDNode* MD) {
4019 void Verifier::visitProfMetadata(Instruction &I, MDNode *MD) {
4159 if (MDNode *MD = I.getMetadata(LLVMContext::MD_fpmath)) {
4175 if (MDNode *Range = I.getMetadata(LLVMContext::MD_range)) {
4190 if (MDNode *MD = I.getMetadata(LLVMContext::MD_dereferenceable))
4193 if (MDNode *MD = I.getMetadata(LLVMContext::MD_dereferenceable_or_null))
4196 if (MDNode *TBAA = I.getMetadata(LLVMContext::MD_tbaa))
4199 if (MDNode *AlignMD = I.getMetadata(LLVMContext::MD_align)) {
4215 if (MDNode *MD = I.getMetadata(LLVMContext::MD_prof))
4218 if (MDNode *N = I.getDebugLoc().getAsMDNode()) {
4929 if (MDNode *N = DII.getDebugLoc().getAsMDNode())
4964 if (MDNode *N = DLI.getDebugLoc().getAsMDNode())
5205 TBAAVerifier::verifyTBAABaseNode(Instruction &I, const MDNode *BaseNode,
5224 TBAAVerifier::verifyTBAABaseNodeImpl(Instruction &I, const MDNode *BaseNode,
5279 if (!isa<MDNode>(FieldTy)) {
5334 static bool IsRootTBAANode(const MDNode *MD) {
5338 static bool IsScalarTBAANodeImpl(const MDNode *MD,
5339 SmallPtrSetImpl<const MDNode *> &Visited) {
5352 auto *Parent = dyn_cast_or_null<MDNode>(MD->getOperand(1));
5352 auto *Parent = dyn_cast_or_null<MDNode>(MD->getOperand(1));
5357 bool TBAAVerifier::isValidScalarTBAANode(const MDNode *MD) {
5362 SmallPtrSet<const MDNode *, 4> Visited;
5375 MDNode *TBAAVerifier::getFieldNodeFromTBAABaseNode(Instruction &I,
5376 const MDNode *BaseNode,
5385 return cast<MDNode>(BaseNode->getOperand(1));
5404 return cast<MDNode>(BaseNode->getOperand(PrevIdx));
5412 return cast<MDNode>(BaseNode->getOperand(LastIdx));
5415 static bool isNewFormatTBAATypeNode(llvm::MDNode *Type) {
5421 MDNode *Parent = dyn_cast_or_null<MDNode>(Type->getOperand(0));
5421 MDNode *Parent = dyn_cast_or_null<MDNode>(Type->getOperand(0));
5428 bool TBAAVerifier::visitTBAAMetadata(Instruction &I, const MDNode *MD) {
5435 isa<MDNode>(MD->getOperand(0)) && MD->getNumOperands() >= 3;
5441 MDNode *BaseNode = dyn_cast_or_null<MDNode>(MD->getOperand(0));
5441 MDNode *BaseNode = dyn_cast_or_null<MDNode>(MD->getOperand(0));
5442 MDNode *AccessType = dyn_cast_or_null<MDNode>(MD->getOperand(1));
5442 MDNode *AccessType = dyn_cast_or_null<MDNode>(MD->getOperand(1));
5492 SmallPtrSet<MDNode *, 4> StructPath;
lib/LTO/LTOModule.cpp 632 MDNode *MDOptions = LinkerOptions->getOperand(i);
lib/Linker/IRMover.cpp 1186 for (const MDNode *Op : NMD.operands())
1209 DenseMap<MDString *, std::pair<MDNode *, unsigned>> Flags;
1210 SmallSetVector<MDNode *, 16> Requirements;
1212 MDNode *Op = DstModFlags->getOperand(I);
1217 Requirements.insert(cast<MDNode>(Op->getOperand(2)));
1226 MDNode *SrcOp = SrcModFlags->getOperand(I);
1230 MDNode *DstOp;
1239 if (Requirements.insert(cast<MDNode>(SrcOp->getOperand(2)))) {
1287 MDNode *Flag = MDNode::get(DstM.getContext(), FlagOps);
1287 MDNode *Flag = MDNode::get(DstM.getContext(), FlagOps);
1330 MDNode *DstValue = cast<MDNode>(DstOp->getOperand(2));
1330 MDNode *DstValue = cast<MDNode>(DstOp->getOperand(2));
1331 MDNode *SrcValue = cast<MDNode>(SrcOp->getOperand(2));
1331 MDNode *SrcValue = cast<MDNode>(SrcOp->getOperand(2));
1337 replaceDstValue(MDNode::get(DstM.getContext(), MDs));
1342 MDNode *DstValue = cast<MDNode>(DstOp->getOperand(2));
1342 MDNode *DstValue = cast<MDNode>(DstOp->getOperand(2));
1343 MDNode *SrcValue = cast<MDNode>(SrcOp->getOperand(2));
1343 MDNode *SrcValue = cast<MDNode>(SrcOp->getOperand(2));
1347 replaceDstValue(MDNode::get(DstM.getContext(),
1356 MDNode *Requirement = Requirements[I];
1360 MDNode *Op = Flags[Flag].first;
lib/Object/IRSymtab.cpp 139 for (MDNode *MDOptions : LinkerOptions->operands())
140 for (const MDOperand &MDOption : cast<MDNode>(MDOptions)->operands())
149 for (MDNode *MDOptions : N->operands()) {
151 cast<MDString>(cast<MDNode>(MDOptions)->getOperand(0))->getString();
lib/ProfileData/InstrProf.cpp 265 if (MDNode *MD = getPGOFuncNameMetadata(F)) {
973 Inst.setMetadata(LLVMContext::MD_prof, MDNode::get(Ctx, Vals));
981 MDNode *MD = Inst.getMetadata(LLVMContext::MD_prof);
1028 MDNode *getPGOFuncNameMetadata(const Function &F) {
1040 MDNode *N = MDNode::get(C, MDString::get(C, PGOFuncName));
1040 MDNode *N = MDNode::get(C, MDString::get(C, PGOFuncName));
lib/Target/AArch64/AArch64FalkorHWPFFix.cpp 169 MDNode::get(LoadI->getContext(), {}));
lib/Target/AMDGPU/AMDGPUAliasAnalysis.h 53 bool Aliases(const MDNode *A, const MDNode *B) const;
53 bool Aliases(const MDNode *A, const MDNode *B) const;
54 bool PathAliases(const MDNode *A, const MDNode *B) const;
54 bool PathAliases(const MDNode *A, const MDNode *B) const;
lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp 73 I->setMetadata("amdgpu.uniform", MDNode::get(I->getContext(), {}));
76 I->setMetadata("amdgpu.noclobber", MDNode::get(I->getContext(), {}));
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp 549 MDNode *FPMath = FDiv.getMetadata(LLVMContext::MD_fpmath);
948 if (auto *Range = WidenLoad->getMetadata(LLVMContext::MD_range)) {
962 MDNode::get(Mod->getContext(), LowAndHigh));
lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp 200 MetadataStreamerV2::getWorkGroupDimensions(MDNode *Node) const {
311 const MDNode *Node;
641 MetadataStreamerV3::getWorkGroupDimensions(MDNode *Node) const {
728 const MDNode *Node;
lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h 72 msgpack::ArrayDocNode getWorkGroupDimensions(MDNode *Node) const;
140 std::vector<uint32_t> getWorkGroupDimensions(MDNode *Node) const;
lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp 164 Load->setMetadata(LLVMContext::MD_invariant_load, MDNode::get(Ctx, {}));
170 Load->setMetadata(LLVMContext::MD_nonnull, MDNode::get(Ctx, {}));
176 MDNode::get(Ctx,
185 MDNode::get(Ctx,
194 MDNode::get(Ctx,
lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp 346 MDNode *myMD = MDNode::get(Ctx, fmtStrArray);
346 MDNode *myMD = MDNode::get(Ctx, fmtStrArray);
lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp 257 MDNode *MD = MDNode::get(Mod->getContext(), None);
257 MDNode *MD = MDNode::get(Mod->getContext(), None);
lib/Target/AMDGPU/AMDGPUSubtarget.cpp 488 MDNode *MaxWorkGroupSizeRange = MDB.createRange(APInt(32, MinSize),
lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp 62 MDNode *MaxMD = nullptr;
105 NamedMD->addOperand(MDNode::get(M.getContext(), MD));
lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp 92 GetFunctionFromMDNode(MDNode *Node) {
107 MDNode *ArgNode = dyn_cast_or_null<MDNode>(Node->getOperand(i + 1));
107 MDNode *ArgNode = dyn_cast_or_null<MDNode>(Node->getOperand(i + 1));
124 AccessQualFromMD(MDNode *KernelMDNode, unsigned ArgIdx) {
125 MDNode *ArgAQNode = cast<MDNode>(KernelMDNode->getOperand(2));
125 MDNode *ArgAQNode = cast<MDNode>(KernelMDNode->getOperand(2));
130 ArgTypeFromMD(MDNode *KernelMDNode, unsigned ArgIdx) {
131 MDNode *ArgTypeNode = cast<MDNode>(KernelMDNode->getOperand(3));
131 MDNode *ArgTypeNode = cast<MDNode>(KernelMDNode->getOperand(3));
139 MDNode *Node = cast<MDNode>(KernelMDNode->getOperand(i + 1));
139 MDNode *Node = cast<MDNode>(KernelMDNode->getOperand(i + 1));
228 bool replaceImageAndSamplerUses(Function *F, MDNode *KernelMDNode) {
268 std::tuple<Function *, MDNode *>
269 addImplicitArgs(Function *F, MDNode *KernelMDNode) {
325 KernelMDArgs.push_back(MDNode::get(*Context, NewArgMDs.ArgVector[i]));
326 MDNode *NewMDNode = MDNode::get(*Context, KernelMDArgs);
326 MDNode *NewMDNode = MDNode::get(*Context, KernelMDArgs);
338 MDNode *KernelMDNode = KernelsMDNode->getOperand(i);
344 MDNode *NewMDNode;
lib/Target/BPF/BPFAbstractMemberAccess.cpp 120 MDNode *Metadata;
151 bool IsValidAIChain(const MDNode *ParentMeta, uint32_t ParentAI,
152 const MDNode *ChildMeta);
164 std::string &AccessKey, MDNode *&BaseMeta);
348 bool BPFAbstractMemberAccess::IsValidAIChain(const MDNode *ParentType,
350 const MDNode *ChildType) {
697 MDNode *&TypeMeta) {
824 MDNode *MDN = CInfo.Metadata;
843 MDNode *TypeMeta;
lib/Target/BPF/BTFDebug.cpp 996 MDNode *MDN = GVar->getMetadata(LLVMContext::MD_preserve_access_index);
lib/Target/NVPTX/NVPTXAsmPrinter.cpp 427 if (MDNode *LoopID =
lib/Target/NVPTX/NVPTXUtilities.cpp 46 static void cacheAnnotationFromMD(const MDNode *md, key_val_pair_t &retval) {
79 const MDNode *elem = NMD->getOperand(i);
300 if (MDNode *alignNode = I.getMetadata("callalign")) {
lib/Target/NVPTX/NVVMIntrRange.cpp 76 C->setMetadata(LLVMContext::MD_range, MDNode::get(Context, LowAndHigh));
lib/Target/PowerPC/PPCISelLowering.h 969 const MDNode *Ranges = nullptr;
lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp 294 if (MDNode *Idx = F.getMetadata("wasm.index")) {
lib/Target/X86/X86FrameLowering.cpp 2539 MDNode *Node = HiPELiteralsMD->getOperand(i);
lib/Target/X86/X86ISelLowering.cpp 4111 if (MDNode *HeapAlloc = CLI.CS->getMetadata("heapallocsite"))
lib/Target/X86/X86OptimizeLEAs.cpp 580 const MDNode *Var = MI.getDebugVariable();
lib/Transforms/IPO/CalledValuePropagation.cpp 395 MDNode *Callees = MDB.createCallees(LV.getFunctions());
lib/Transforms/IPO/ConstantMerge.cpp 70 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
lib/Transforms/IPO/CrossDSOCFI.cpp 48 MDNode *VeryLikelyWeights;
50 ConstantInt *extractNumericTypeId(MDNode *MD);
65 ConstantInt *CrossDSOCFI::extractNumericTypeId(MDNode *MD) {
83 SmallVector<MDNode *, 2> Types;
87 for (MDNode *Type : Types)
98 extractNumericTypeId(cast<MDNode>(Func->getOperand(I).get())))
lib/Transforms/IPO/DeadArgumentElimination.cpp 242 SmallVector<std::pair<unsigned, MDNode *>, 1> MDs;
1073 SmallVector<std::pair<unsigned, MDNode *>, 1> MDs;
lib/Transforms/IPO/FunctionImport.cpp 1122 MDNode::get(DestModule.getContext(),
1166 MDNode::get(DestModule.getContext(),
lib/Transforms/IPO/GlobalDCE.cpp 159 SmallVector<MDNode *, 2> Types;
177 for (MDNode *Type : Types) {
lib/Transforms/IPO/GlobalSplit.cpp 67 SmallVector<MDNode *, 2> Types;
91 for (MDNode *Type : Types) {
108 *MDNode::get(GV.getContext(),
lib/Transforms/IPO/LowerTypeTests.cpp 258 class GlobalTypeMember final : TrailingObjects<GlobalTypeMember, MDNode *> {
275 size_t numTrailingObjects(OverloadToken<MDNode *>) const { return NTypes; }
280 ArrayRef<MDNode *> Types) {
282 totalSizeToAlloc<MDNode *>(Types.size()), alignof(GlobalTypeMember)));
288 GTM->getTrailingObjects<MDNode *>());
304 ArrayRef<MDNode *> types() const {
305 return makeArrayRef(getTrailingObjects<MDNode *>(), NTypes);
469 void verifyTypeMDNode(GlobalObject *GO, MDNode *Type);
560 for (MDNode *Type : GlobalAndOffset.first->types()) {
690 SmallVector<MDNode *, 2> Types;
692 for (MDNode *Type : Types) {
993 MDNode::get(M.getContext(), {MinC, MaxC}));
1168 void LowerTypeTestsModule::verifyTypeMDNode(GlobalObject *GO, MDNode *Type) {
1574 MDNode *MD = MDNode::get(F->getContext(),
1574 MDNode *MD = MDNode::get(F->getContext(),
1602 for (MDNode *Type : GTM->types()) {
1830 SmallVector<MDNode *, 2> Types;
1838 MDNode *FuncMD; // {name, linkage, type[, type...]}
1888 MDNode *FuncMD = P.second.FuncMD;
1935 *cast<MDNode>(FuncMD->getOperand(I).get()));
1970 for (MDNode *Type : Types) {
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp 92 if (isa<MDNode>(MD) && cast<MDNode>(MD)->isDistinct()) {
92 if (isa<MDNode>(MD) && cast<MDNode>(MD)->isDistinct()) {
121 SmallVector<MDNode *, 1> MDs;
133 *MDNode::get(M.getContext(), {MD->getOperand(0), I->second}));
229 if (MDNode *MD = GO->getMetadata(LLVMContext::MD_associated))
318 SmallVector<MDNode *, 8> CfiFunctionMDs;
321 SmallVector<MDNode *, 2> Types;
346 SmallVector<MDNode *, 8> FunctionAliases;
371 SmallVector<MDNode *, 8> Symvers;
lib/Transforms/IPO/WholeProgramDevirt.cpp 783 SmallVector<MDNode *, 2> Types;
799 for (MDNode *Type : Types) {
1288 MDNode::get(M.getContext(), {MinC, MaxC}));
lib/Transforms/InstCombine/InstCombineCalls.cpp 169 MDNode *CopyMD = nullptr;
170 if (MDNode *M = MI->getMetadata(LLVMContext::MD_tbaa)) {
172 } else if (MDNode *M = MI->getMetadata(LLVMContext::MD_tbaa_struct)) {
180 M->getOperand(2) && isa<MDNode>(M->getOperand(2)))
181 CopyMD = cast<MDNode>(M->getOperand(2));
192 MDNode *LoopMemParallelMD =
196 MDNode *AccessGroupMD = MI->getMetadata(LLVMContext::MD_access_group);
1251 MDNode::get(II.getContext(), LowAndHigh));
1288 MDNode::get(II.getContext(), LowAndHigh));
3692 MDNode *MD = MDNode::get(II->getContext(), MDArgs);
3692 MDNode *MD = MDNode::get(II->getContext(), MDArgs);
3958 MDNode *MD = MDNode::get(II->getContext(), None);
3958 MDNode *MD = MDNode::get(II->getContext(), None);
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp 481 SmallVector<std::pair<unsigned, MDNode *>, 8> MD;
490 MDNode *N = MDPair.second;
lib/Transforms/InstCombine/InstCombineSelect.cpp 2482 if (MDNode *MD = SI.getMetadata(LLVMContext::MD_prof)) {
lib/Transforms/Instrumentation/AddressSanitizer.cpp 1113 void LocationMetadata::parse(MDNode *MDN) {
1143 if (auto *Loc = cast_or_null<MDNode>(MDN->getOperand(1)))
1143 if (auto *Loc = cast_or_null<MDNode>(MDN->getOperand(1)))
2074 MDNode *MD = MDNode::get(M.getContext(), ValueAsMetadata::get(G));
2074 MDNode *MD = MDNode::get(M.getContext(), ValueAsMetadata::get(G));
lib/Transforms/Instrumentation/CGProfile.cpp 94 Nodes.push_back(MDNode::get(Context, Vals));
97 M.addModuleFlag(Module::Append, "CG Profile", MDNode::get(Context, Nodes));
lib/Transforms/Instrumentation/ControlHeightReduction.cpp 608 static bool checkMDProf(MDNode *MD, BranchProbability &TrueProb,
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 353 MDNode *ColdCallWeights;
lib/Transforms/Instrumentation/GCOVProfiling.cpp 116 insertCounterWriteout(ArrayRef<std::pair<GlobalVariable *, MDNode *>>);
117 Function *insertFlush(ArrayRef<std::pair<GlobalVariable *, MDNode *>>);
525 MDNode *N = GCov->getOperand(i);
529 if (dyn_cast<MDNode>(N->getOperand(ThreeElement ? 2 : 1)) != CU)
776 SmallVector<std::pair<GlobalVariable *, MDNode *>, 8> CountersBySP;
941 ArrayRef<std::pair<GlobalVariable *, MDNode *> > CountersBySP) {
1190 insertFlush(ArrayRef<std::pair<GlobalVariable*, MDNode*> > CountersBySP) {
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp 1024 MDNode *MD = MDNode::get(*C, {MDString::get(*C, Name)});
1024 MDNode *MD = MDNode::get(*C, {MDString::get(*C, Name)});
1306 MDNode::get(*C, ValueAsMetadata::get(NewGV)));
1399 MDNode::get(*C, ValueAsMetadata::get(Note)));
lib/Transforms/Instrumentation/IndirectCallPromotion.cpp 306 MDNode *BranchWeights = MDB.createBranchWeights(
lib/Transforms/Instrumentation/MemorySanitizer.cpp 583 MDNode *ColdCallWeights;
586 MDNode *OriginStoreWeights;
lib/Transforms/Instrumentation/SanitizerCoverage.cpp 221 MDNode::get(*C, None));
660 MDNode *MD = MDNode::get(F.getContext(), ValueAsMetadata::get(&F));
660 MDNode *MD = MDNode::get(F.getContext(), ValueAsMetadata::get(&F));
lib/Transforms/Instrumentation/ThreadSanitizer.cpp 300 if (MDNode *Tag = I->getMetadata(LLVMContext::MD_tbaa))
lib/Transforms/ObjCARC/ObjCARCOpts.cpp 866 MDNode::get(C, None));
1596 if (MDNode *M = ReleasesToMove.ReleaseMetadata)
lib/Transforms/ObjCARC/PtrState.cpp 192 MDNode *ReleaseMetadata =
357 MDNode *ReleaseMetadata =
lib/Transforms/ObjCARC/PtrState.h 76 MDNode *ReleaseMetadata = nullptr;
133 const MDNode *GetReleaseMetadata() const { return RRI.ReleaseMetadata; }
135 void SetReleaseMetadata(MDNode *NewValue) { RRI.ReleaseMetadata = NewValue; }
lib/Transforms/Scalar/GVN.cpp 1256 if (auto *MD = LI->getMetadata(LLVMContext::MD_invariant_load))
1258 if (auto *InvGroupMD = LI->getMetadata(LLVMContext::MD_invariant_group))
1260 if (auto *RangeMD = LI->getMetadata(LLVMContext::MD_range))
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 415 MDNode *Dummy = MDNode::get(Context, {});
415 MDNode *Dummy = MDNode::get(Context, {});
416 MDNode *DisableUnroll = MDNode::get(
416 MDNode *DisableUnroll = MDNode::get(
420 MDNode *DisableVectorize = MDNode::get(
420 MDNode *DisableVectorize = MDNode::get(
423 MDNode *DisableLICMVersioning = MDNode::get(
423 MDNode *DisableLICMVersioning = MDNode::get(
425 MDNode *DisableDistribution= MDNode::get(
425 MDNode *DisableDistribution= MDNode::get(
428 MDNode *NewLoopID =
429 MDNode::get(Context, {Dummy, DisableUnroll, DisableVectorize,
1147 MDNode::get(Ctx, {}));
lib/Transforms/Scalar/InferAddressSpaces.cpp 789 MDNode *TBAA = MI->getMetadata(LLVMContext::MD_tbaa);
790 MDNode *ScopeMD = MI->getMetadata(LLVMContext::MD_alias_scope);
791 MDNode *NoAliasMD = MI->getMetadata(LLVMContext::MD_noalias);
810 MDNode *TBAAStruct = MTI->getMetadata(LLVMContext::MD_tbaa_struct);
lib/Transforms/Scalar/JumpThreading.cpp 2148 MDNode *WeightsNode = TI->getMetadata(LLVMContext::MD_prof);
lib/Transforms/Scalar/LoopDistribute.cpp 458 MDNode *OrigLoopID = L->getLoopID();
598 void setNewLoopID(MDNode *OrigLoopID, InstPartition *Part) {
599 Optional<MDNode *> PartitionID = makeFollowupLoopID(
812 MDNode *OrigLoopID = L->getLoopID();
825 MDNode *UnversionedLoopID =
lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp 93 static MDNode *GetUnrollMetadataForLoop(const Loop *L, StringRef Name) {
94 if (MDNode *LoopID = L->getLoopID())
102 if (MDNode *LoopID = L->getLoopID()) {
108 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
108 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
131 MDNode *MD = GetUnrollMetadataForLoop(L, "llvm.loop.unroll_and_jam.count");
360 MDNode *OrigOuterLoopID = L->getLoopID();
361 MDNode *OrigSubLoopID = SubLoop->getLoopID();
366 Optional<MDNode *> NewInnerEpilogueLoopID = makeFollowupLoopID(
394 Optional<MDNode *> NewOuterEpilogueLoopID = makeFollowupLoopID(
401 Optional<MDNode *> NewInnerLoopID =
410 Optional<MDNode *> NewOuterLoopID = makeFollowupLoopID(
lib/Transforms/Scalar/LoopUnrollPass.cpp 666 static MDNode *GetUnrollMetadataForLoop(const Loop *L, StringRef Name) {
667 if (MDNode *LoopID = L->getLoopID())
691 MDNode *MD = GetUnrollMetadataForLoop(L, "llvm.loop.unroll.count");
1129 MDNode *OrigLoopID = L->getLoopID();
1143 Optional<MDNode *> RemainderLoopID =
1151 Optional<MDNode *> NewLoopID =
lib/Transforms/Scalar/LoopVersioningLICM.cpp 540 MDNode *NewDomain = MDB.createAnonymousAliasScopeDomain("LVDomain");
543 MDNode *NewScope = MDB.createAnonymousAliasScope(NewDomain, Name);
556 MDNode::concatenate(Inst.getMetadata(LLVMContext::MD_noalias),
557 MDNode::get(Inst.getContext(), NoAliases)));
561 MDNode::concatenate(Inst.getMetadata(LLVMContext::MD_alias_scope),
562 MDNode::get(Inst.getContext(), Scopes)));
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp 288 MDNode *Node;
289 MDNode *ExpNode;
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp 948 BaseInst->setMetadata("is_base_value", MDNode::get(I->getContext(), {}));
995 BaseInst->setMetadata("is_base_value", MDNode::get(I->getContext(), {}));
2466 if (MDNode *Tag = I.getMetadata(LLVMContext::MD_tbaa)) {
2467 MDNode *MutableTBAA = Builder.createMutableTBAAAccessTag(Tag);
lib/Transforms/Scalar/SROA.cpp 2535 if (MDNode *N = LI.getMetadata(LLVMContext::MD_nonnull))
lib/Transforms/Scalar/Scalarizer.cpp 402 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
lib/Transforms/Scalar/StructurizeCFG.cpp 1020 MDNode *MD = MDNode::get(R->getEntry()->getParent()->getContext(), {});
1020 MDNode *MD = MDNode::get(R->getEntry()->getParent()->getContext(), {});
lib/Transforms/Utils/BasicBlockUtils.cpp 813 MDNode *BranchWeights,
865 MDNode *BranchWeights) {
lib/Transforms/Utils/CallPromotionUtils.cpp 257 MDNode *BranchWeights) {
450 MDNode *BranchWeights) {
lib/Transforms/Utils/CloneFunction.cpp 44 DenseMap<const MDNode *, MDNode *> Cache;
44 DenseMap<const MDNode *, MDNode *> Cache;
143 SmallVector<std::pair<unsigned, MDNode *>, 1> MDs;
221 for (auto* Operand : NMD->operands())
lib/Transforms/Utils/CloneModule.cpp 132 SmallVector<std::pair<unsigned, MDNode *>, 1> MDs;
193 for (const auto* Operand : NewNMD->operands())
195 for (const auto* Operand : NMD.operands()) {
196 auto* MappedOperand = MapMetadata(Operand, VMap);
lib/Transforms/Utils/FunctionComparator.cpp 142 int FunctionComparator::cmpRangeMetadata(const MDNode *L,
143 const MDNode *R) const {
lib/Transforms/Utils/GuardUtils.cpp 44 if (auto *MD = Guard->getMetadata(LLVMContext::MD_make_implicit))
lib/Transforms/Utils/InlineFunction.cpp 772 MDNode *M =
774 MDNode *CallAccessGroup =
789 if (MDNode *PM =
791 M = MDNode::concatenate(PM, M);
799 MDNode *UnitedAccGroups = uniteAccessGroups(
815 SetVector<const MDNode *> MD;
824 if (const MDNode *M = J.getMetadata(LLVMContext::MD_alias_scope))
826 if (const MDNode *M = J.getMetadata(LLVMContext::MD_noalias))
837 const MDNode *M = cast<MDNode>(Queue.pop_back_val());
837 const MDNode *M = cast<MDNode>(Queue.pop_back_val());
839 if (const MDNode *M1 = dyn_cast<MDNode>(M->getOperand(i)))
839 if (const MDNode *M1 = dyn_cast<MDNode>(M->getOperand(i)))
847 DenseMap<const MDNode *, TrackingMDNodeRef> MDMap;
848 for (const MDNode *I : MD) {
856 for (const MDNode *I : MD) {
860 if (const MDNode *M = dyn_cast<MDNode>(V))
860 if (const MDNode *M = dyn_cast<MDNode>(V))
866 MDNode *NewM = MDNode::get(CalledFunc->getContext(), NewOps);
866 MDNode *NewM = MDNode::get(CalledFunc->getContext(), NewOps);
884 if (MDNode *M = NI->getMetadata(LLVMContext::MD_alias_scope)) {
885 MDNode *NewMD = MDMap[M];
889 if (MDNode *CSM =
891 NewMD = MDNode::concatenate(NewMD, CSM);
894 if (MDNode *M =
899 if (MDNode *M = NI->getMetadata(LLVMContext::MD_noalias)) {
900 MDNode *NewMD = MDMap[M];
904 if (MDNode *CSM =
906 NewMD = MDNode::concatenate(NewMD, CSM);
909 if (MDNode *M = CS.getInstruction()->getMetadata(LLVMContext::MD_noalias))
945 DenseMap<const Argument *, MDNode *> NewScopes;
949 MDNode *NewDomain =
966 MDNode *NewScope = MDB.createAnonymousAliasScope(NewDomain, Name);
1106 MDNode::concatenate(
1108 MDNode::get(CalledFunc->getContext(), NoAliases)));
1133 MDNode::concatenate(NI->getMetadata(LLVMContext::MD_alias_scope),
1134 MDNode::get(CalledFunc->getContext(), Scopes)));
1352 DenseMap<const MDNode *, MDNode *> &IANodes) {
1352 DenseMap<const MDNode *, MDNode *> &IANodes) {
1360 static MDNode *inlineLoopID(const MDNode *OrigLoopId, DILocation *InlinedAt,
1360 static MDNode *inlineLoopID(const MDNode *OrigLoopId, DILocation *InlinedAt,
1362 DenseMap<const MDNode *, MDNode *> &IANodes) {
1362 DenseMap<const MDNode *, MDNode *> &IANodes) {
1380 MDNode *NewLoopID = MDNode::getDistinct(Ctx, MDs);
1380 MDNode *NewLoopID = MDNode::getDistinct(Ctx, MDs);
1406 DenseMap<const MDNode *, MDNode *> IANodes;
1406 DenseMap<const MDNode *, MDNode *> IANodes;
1413 if (MDNode *LoopID = BI->getMetadata(LLVMContext::MD_loop)) {
1414 MDNode *NewLoopID =
lib/Transforms/Utils/LibCallsShrinkWrap.cpp 486 MDNode *BranchWeights =
lib/Transforms/Utils/Local.cpp 183 MDNode *MD = SI->getMetadata(LLVMContext::MD_prof);
275 MDNode *MD = SI->getMetadata(LLVMContext::MD_prof);
290 MDNode *MakeImplicitMD = SI->getMetadata(LLVMContext::MD_make_implicit);
1050 if (MDNode *LoopMD = TI->getMetadata(LoopMDKind))
1279 MDNode *Scope = DeclareLoc.getScope();
2284 SmallVector<std::pair<unsigned, MDNode *>, 4> Metadata;
2289 MDNode *JMD = J->getMetadata(Kind);
2290 MDNode *KMD = MD.second;
2299 K->setMetadata(Kind, MDNode::getMostGenericTBAA(JMD, KMD));
2302 K->setMetadata(Kind, MDNode::getMostGenericAliasScope(JMD, KMD));
2306 K->setMetadata(Kind, MDNode::intersect(JMD, KMD));
2321 K->setMetadata(Kind, MDNode::getMostGenericRange(JMD, KMD));
2324 K->setMetadata(Kind, MDNode::getMostGenericFPMath(JMD, KMD));
2340 MDNode::getMostGenericAlignmentOrDereferenceable(JMD, KMD));
2345 MDNode::getMostGenericAlignmentOrDereferenceable(JMD, KMD));
2358 if (auto *JMD = J->getMetadata(LLVMContext::MD_invariant_group))
2377 SmallVector<std::pair<unsigned, MDNode *>, 8> MD;
2384 MDNode *N = MDPair.second;
2541 void llvm::copyNonnullMetadata(const LoadInst &OldLI, MDNode *N,
2567 MDNode *N, LoadInst &NewLI) {
2579 MDNode *NN = MDNode::get(OldLI.getContext(), None);
2579 MDNode *NN = MDNode::get(OldLI.getContext(), None);
lib/Transforms/Utils/LoopRotationUtils.cpp 631 MDNode *LoopMD = L->getLoopID();
lib/Transforms/Utils/LoopSimplify.cpp 444 MDNode *LoopMD = nullptr;
lib/Transforms/Utils/LoopUnroll.cpp 962 MDNode *llvm::GetUnrollMetadata(MDNode *LoopID, StringRef Name) {
962 MDNode *llvm::GetUnrollMetadata(MDNode *LoopID, StringRef Name) {
968 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
968 MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
lib/Transforms/Utils/LoopUnrollPeel.cpp 410 MDNode *WeightNode =
452 MDNode *WeightNode =
lib/Transforms/Utils/LoopUnrollRuntime.cpp 399 MDNode *LoopID = NewLoop->getLoopID();
407 Optional<MDNode *> NewLoopID = makeFollowupLoopID(
lib/Transforms/Utils/LoopUtils.cpp 200 static MDNode *createStringMetadata(Loop *TheLoop, StringRef Name, unsigned V) {
205 return MDNode::get(Context, MDs);
215 MDNode *LoopID = TheLoop->getLoopID();
218 MDNode *Node = cast<MDNode>(LoopID->getOperand(i));
218 MDNode *Node = cast<MDNode>(LoopID->getOperand(i));
240 MDNode *NewLoopID = MDNode::get(Context, MDs);
240 MDNode *NewLoopID = MDNode::get(Context, MDs);
253 MDNode *MD = findOptionMDForLoop(TheLoop, Name);
268 MDNode *MD = findOptionMDForLoop(TheLoop, Name);
302 Optional<MDNode *> llvm::makeFollowupLoopID(
303 MDNode *OrigLoopID, ArrayRef<StringRef> FollowupOptions,
322 MDNode *Op = cast<MDNode>(Existing.get());
322 MDNode *Op = cast<MDNode>(Existing.get());
353 MDNode *FollowupNode = findOptionMDForLoopID(OrigLoopID, OptionName);
378 MDTuple *FollowupLoopID = MDNode::get(OrigLoopID->getContext(), MDs);
lib/Transforms/Utils/LoopVersioning.cpp 184 MDNode *Domain = MDB.createAnonymousAliasScopeDomain("LVerDomain");
206 GroupToNonAliasingScopeList[Pair.first] = MDNode::get(Context, Pair.second);
237 MDNode::concatenate(
239 MDNode::get(Context, GroupToScope[Group->second])));
246 MDNode::concatenate(
lib/Transforms/Utils/MisExpect.cpp 97 if (auto *MisExpectData = I->getMetadata(LLVMContext::MD_misexpect)) {
148 if (auto *MD = I.getMetadata(LLVMContext::MD_prof)) {
lib/Transforms/Utils/SimplifyCFG.cpp 791 MDNode *N = nullptr;
804 MDNode *N = nullptr;
957 MDNode *ProfMD = I->getMetadata(LLVMContext::MD_prof);
970 MDNode *MD = TI->getMetadata(LLVMContext::MD_prof);
2861 if (MDNode *LoopMD = BI->getMetadata(LLVMContext::MD_loop))
lib/Transforms/Utils/ValueMapper.cpp 203 SmallVector<MDNode *, 16> POT; // Post-order traversal.
212 Metadata &getFwdReference(MDNode &Op);
216 SmallVector<MDNode *, 16> DistinctWorklist;
220 SmallVector<MDNode *, 16> POTStorage;
243 Metadata *map(const MDNode &N);
265 Metadata *mapTopLevelUniquedNode(const MDNode &FirstN);
284 MDNode *mapDistinctNode(const MDNode &N);
284 MDNode *mapDistinctNode(const MDNode &N);
303 bool createPOT(UniquedGraph &G, const MDNode &FirstN);
312 MDNode *visitOperands(UniquedGraph &G, MDNode::op_iterator &I,
312 MDNode *visitOperands(UniquedGraph &G, MDNode::op_iterator &I,
313 MDNode::op_iterator E, bool &HasChanged);
334 void remapOperands(MDNode &N, OperandMapper mapOperand);
533 const MDNode &N = *cast<MDNode>(Op);
533 const MDNode &N = *cast<MDNode>(Op);
539 static Metadata *cloneOrBuildODR(const MDNode &N) {
546 return MDNode::replaceWithDistinct(N.clone());
549 MDNode *MDNodeMapper::mapDistinctNode(const MDNode &N) {
549 MDNode *MDNodeMapper::mapDistinctNode(const MDNode &N) {
553 cast<MDNode>((M.Flags & RF_MoveDistinctMDs)
582 Metadata &MDNodeMapper::UniquedGraph::getFwdReference(MDNode &Op) {
598 void MDNodeMapper::remapOperands(MDNode &N, OperandMapper mapOperand) {
613 MDNode *N; ///< Current node.
614 MDNode::op_iterator Op; ///< Current operand of \c N.
620 POTWorklistEntry(MDNode &N) : N(&N), Op(N.op_begin()) {}
625 bool MDNodeMapper::createPOT(UniquedGraph &G, const MDNode &FirstN) {
637 if (MDNode *N = visitOperands(G, WE.Op, WE.N->op_end(), WE.HasChanged)) {
657 MDNode *MDNodeMapper::visitOperands(UniquedGraph &G, MDNode::op_iterator &I,
657 MDNode *MDNodeMapper::visitOperands(UniquedGraph &G, MDNode::op_iterator &I,
658 MDNode::op_iterator E, bool &HasChanged) {
668 MDNode &OpN = *cast<MDNode>(Op);
668 MDNode &OpN = *cast<MDNode>(Op);
681 for (MDNode *N : POT) {
699 SmallVector<MDNode *, 16> CyclicNodes;
700 for (auto *N : G.POT) {
718 return &G.getFwdReference(*cast<MDNode>(Old));
721 auto *NewN = MDNode::replaceWithUniqued(std::move(ClonedN));
721 auto *NewN = MDNode::replaceWithUniqued(std::move(ClonedN));
731 for (auto *N : CyclicNodes)
736 Metadata *MDNodeMapper::map(const MDNode &N) {
750 return mapTopLevelUniquedNode(*cast<MDNode>(Old));
755 Metadata *MDNodeMapper::mapTopLevelUniquedNode(const MDNode &FirstN) {
762 for (const MDNode *N : G.POT)
810 return MDNodeMapper(*this).map(*cast<MDNode>(MD));
878 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
881 MDNode *Old = MI.second;
882 MDNode *New = cast_or_null<MDNode>(mapMetadata(Old));
882 MDNode *New = cast_or_null<MDNode>(mapMetadata(Old));
928 SmallVector<std::pair<unsigned, MDNode *>, 8> MDs;
932 GO.addMetadata(I.first, *cast<MDNode>(mapMetadata(I.second)));
1106 MDNode *ValueMapper::mapMDNode(const MDNode &N) {
1106 MDNode *ValueMapper::mapMDNode(const MDNode &N) {
1107 return cast_or_null<MDNode>(mapMetadata(N));
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp 96 MDNode *IsVectorizedMD = MDNode::get(
96 MDNode *IsVectorizedMD = MDNode::get(
100 MDNode *LoopID = TheLoop->getLoopID();
101 MDNode *NewLoopID =
182 MDNode *LoopID = TheLoop->getLoopID();
196 if (const MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i))) {
196 if (const MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i))) {
lib/Transforms/Vectorize/LoopVectorize.cpp 2919 MDNode *OrigLoopID = OrigLoop->getLoopID();
3079 Optional<MDNode *> VectorizedLoopID =
3092 if (MDNode *LID = OrigLoop->getLoopID())
6585 MDNode *LoopID = L->getLoopID();
6589 auto *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
6589 auto *MD = dyn_cast<MDNode>(LoopID->getOperand(i));
6605 MDNode *DisableNode = MDNode::get(Context, DisableOperands);
6605 MDNode *DisableNode = MDNode::get(Context, DisableOperands);
6607 MDNode *NewLoopID = MDNode::get(Context, MDs);
6607 MDNode *NewLoopID = MDNode::get(Context, MDs);
7745 MDNode *OrigLoopID = L->getLoopID();
7784 Optional<MDNode *> RemainderLoopID =
tools/bugpoint/CrashDebugger.cpp 878 class ReduceCrashingNamedMDOps : public ListReducer<const MDNode *> {
886 Expected<TestResult> doTest(std::vector<const MDNode *> &Prefix,
887 std::vector<const MDNode *> &Kept) override {
895 bool TestNamedMDOps(std::vector<const MDNode *> &NamedMDOps);
900 std::vector<const MDNode *> &NamedMDOps) {
902 SmallPtrSet<const MDNode *, 32> OldMDNodeOps;
923 for (MDNode *op : NamedMD.operands())
925 NewNamedMDNode->addOperand(cast<MDNode>(MapMetadata(op, VMap)));
938 for (const MDNode *Node : OldMDNodeOps)
939 NamedMDOps.push_back(cast<MDNode>(*VMap.getMappedMD(Node)));
1239 std::vector<const MDNode *> NamedMDOps;
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBuilder.h 306 llvm::MDNode *DbgInfo) {
tools/clang/lib/CodeGen/CGBuiltin.cpp 479 llvm::MDNode *RNode = MDHelper.createRange(APInt(32, low), APInt(32, high));
5930 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
5930 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
7256 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
7256 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
7429 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
7429 llvm::MDNode *RegName = llvm::MDNode::get(Context, Ops);
11338 llvm::MDNode *Node = llvm::MDNode::get(
11338 llvm::MDNode *Node = llvm::MDNode::get(
tools/clang/lib/CodeGen/CGDebugInfo.cpp 2053 llvm::MDNode *node;
2055 node = llvm::MDNode::get(CGM.getLLVMContext(), None);
2283 llvm::MDNode::replaceWithPermanent(llvm::TempDICompositeType(FwdDecl));
2493 llvm::MDNode *PropertyNode = DBuilder.createObjCProperty(
2572 llvm::MDNode *PropertyNode = nullptr;
3180 llvm::MDNode::replaceWithDistinct(llvm::TempDICompositeType(RealDecl));
3759 llvm::MDNode *Scope = LexicalBlockStack.back();
3765 llvm::MDNode *Back = nullptr;
4712 llvm::TempMDNode FwdDecl(cast<llvm::MDNode>(P.second));
4726 DBuilder.replaceTemporary(std::move(FwdDecl), cast<llvm::MDNode>(Repl));
4755 llvm::MDNode *Scope = LexicalBlockStack.back();
tools/clang/lib/CodeGen/CGDebugInfo.h 65 llvm::MDNode *CurInlinedAt = nullptr;
384 void setInlinedAt(llvm::MDNode *InlinedAt) { CurInlinedAt = InlinedAt; }
387 llvm::MDNode *getInlinedAt() const { return CurInlinedAt; }
tools/clang/lib/CodeGen/CGDeclCXX.cpp 309 llvm::MDNode *Weights;
tools/clang/lib/CodeGen/CGExpr.cpp 1577 llvm::MDNode *CodeGenFunction::getRangeForLoadFromType(QualType Ty) {
1674 llvm::MDNode *Node = llvm::MDNode::get(
1674 llvm::MDNode *Node = llvm::MDNode::get(
1685 if (llvm::MDNode *RangeInfo = getRangeForLoadFromType(Ty))
1755 llvm::MDNode *Node =
1756 llvm::MDNode::get(Store->getContext(),
1905 llvm::MDNode *RegName = cast<llvm::MDNode>(
1905 llvm::MDNode *RegName = cast<llvm::MDNode>(
2165 llvm::MDNode *RegName = cast<llvm::MDNode>(
2165 llvm::MDNode *RegName = cast<llvm::MDNode>(
2453 M->addOperand(llvm::MDNode::get(CGM.getLLVMContext(), Ops));
3058 llvm::MDNode *Node = MDHelper.createBranchWeights((1U << 20) - 1, 1);
3124 llvm::MDNode *Node = MDHelper.createBranchWeights((1U << 20) - 1, 1);
5003 llvm::MDNode *Node = MDHelper.createFPMath(Accuracy);
tools/clang/lib/CodeGen/CGExprAgg.cpp 2018 if (llvm::MDNode *TBAAStructTag = CGM.getTBAAStructInfo(Ty))
tools/clang/lib/CodeGen/CGExprComplex.cpp 721 llvm::MDNode *BrWeight = MDHelper.createBranchWeights(1, (1U << 20) - 1);
tools/clang/lib/CodeGen/CGLoopInfo.cpp 21 MDNode *
25 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
29 MDNode *LoopID = MDNode::getDistinct(Ctx, NewLoopProperties);
29 MDNode *LoopID = MDNode::getDistinct(Ctx, NewLoopProperties);
34 MDNode *LoopInfo::createPipeliningMetadata(const LoopAttributes &Attrs,
50 MDNode::get(Ctx, {MDString::get(Ctx, "llvm.loop.pipeline.disable"),
59 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
68 Args.push_back(MDNode::get(Ctx, Vals));
73 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
73 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
79 MDNode *
107 MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.unroll.disable")));
110 MDNode *Followup = createPipeliningMetadata(Attrs, FollowupLoopProperties,
114 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
123 Args.push_back(MDNode::get(Ctx, Vals));
129 Args.push_back(MDNode::get(Ctx, Vals));
133 Args.push_back(MDNode::get(
136 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
136 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
142 MDNode *
159 NewLoopProperties.push_back(MDNode::get(
170 MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.unroll_and_jam.disable")));
173 MDNode *Followup = createPartialUnrollMetadata(Attrs, FollowupLoopProperties,
177 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
187 Args.push_back(MDNode::get(Ctx, Vals));
192 Args.push_back(MDNode::get(Ctx, Vals));
196 Args.push_back(MDNode::get(
201 Args.push_back(MDNode::get(
205 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
205 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
211 MDNode *
230 MDNode::get(Ctx, {MDString::get(Ctx, "llvm.loop.vectorize.enable"),
244 MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.isvectorized")));
247 MDNode *Followup = createUnrollAndJamMetadata(Attrs, FollowupLoopProperties,
251 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
268 Args.push_back(MDNode::get(Ctx, Vals));
277 Args.push_back(MDNode::get(Ctx, Vals));
286 Args.push_back(MDNode::get(Ctx, Vals));
299 Args.push_back(MDNode::get(Ctx, Vals));
303 Args.push_back(MDNode::get(
307 MDNode *LoopID = MDNode::get(Ctx, Args);
307 MDNode *LoopID = MDNode::get(Ctx, Args);
313 MDNode *
330 MDNode::get(Ctx, {MDString::get(Ctx, "llvm.loop.distribute.enable"),
340 MDNode *Followup =
344 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
352 Args.push_back(MDNode::get(Ctx, Vals));
355 Args.push_back(MDNode::get(
359 MDNode *LoopID = MDNode::get(Ctx, Args);
359 MDNode *LoopID = MDNode::get(Ctx, Args);
365 MDNode *LoopInfo::createFullUnrollMetadata(const LoopAttributes &Attrs,
381 MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.unroll.disable")));
389 TempMDTuple TempNode = MDNode::getTemporary(Ctx, None);
392 Args.push_back(MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.unroll.full")));
397 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
397 MDNode *LoopID = MDNode::getDistinct(Ctx, Args);
403 MDNode *LoopInfo::createMetadata(
422 LoopProperties.push_back(MDNode::get(
464 AccGroup = MDNode::getDistinct(Ctx, {});
479 TempLoopID = MDNode::getTemporary(Header->getContext(), None);
488 MDNode *LoopID;
547 MDNode::get(Ctx, MDString::get(Ctx, "llvm.loop.isvectorized")));
550 MDNode *InnerFollowup = createMetadata(AfterJam, BeforeLoopProperties,
769 if (MDNode *Group = AL->getAccessGroup())
772 MDNode *UnionMD = nullptr;
774 UnionMD = cast<MDNode>(AccessGroups[0]);
776 UnionMD = MDNode::get(I->getContext(), AccessGroups);
tools/clang/lib/CodeGen/CGLoopInfo.h 88 llvm::MDNode *getLoopID() const { return TempLoopID.get(); }
97 llvm::MDNode *getAccessGroup() const { return AccGroup; }
111 llvm::MDNode *AccGroup = nullptr;
121 llvm::MDNode *UnrollAndJamInnerFollowup = nullptr;
124 llvm::MDNode *
144 llvm::MDNode *
148 llvm::MDNode *
152 llvm::MDNode *
156 llvm::MDNode *
160 llvm::MDNode *
164 llvm::MDNode *
182 llvm::MDNode *createMetadata(const LoopAttributes &Attrs,
212 llvm::MDNode *getCurLoopID() const { return getInfo().getLoopID(); }
tools/clang/lib/CodeGen/CGObjC.cpp 137 llvm::MDNode::get(getLLVMContext(), None));
2151 llvm::MDNode::get(Builder.getContext(), None));
2249 llvm::MDNode::get(Builder.getContext(), None));
2655 llvm::MDNode::get(Builder.getContext(), None));
3727 LinkerOptionsMetadata.push_back(llvm::MDNode::get(Context, Args));
tools/clang/lib/CodeGen/CGObjCGNU.cpp 548 llvm::MDNode *node,
687 llvm::Value *cmd, llvm::MDNode *node,
749 llvm::Value *cmd, llvm::MDNode *node,
2038 llvm::Value *cmd, llvm::MDNode *node,
2601 llvm::MDNode *node = llvm::MDNode::get(VMContext, impMD);
2601 llvm::MDNode *node = llvm::MDNode::get(VMContext, impMD);
2677 llvm::MDNode *node = llvm::MDNode::get(VMContext, impMD);
2677 llvm::MDNode *node = llvm::MDNode::get(VMContext, impMD);
tools/clang/lib/CodeGen/CGObjCMac.cpp 5006 llvm::MDNode::get(VMContext, Ops));
7077 llvm::MDNode::get(VMContext, None));
7481 llvm::MDNode::get(VMContext, None));
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 1797 *llvm::MDNode::get(Ctx, {MDB.createCallbackEncoding(
2235 *llvm::MDNode::get(Ctx, {MDB.createCallbackEncoding(
4118 MD->addOperand(llvm::MDNode::get(C, Ops));
4146 MD->addOperand(llvm::MDNode::get(C, Ops));
4255 for (llvm::MDNode *MN : MD->operands()) {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 1853 MD->addOperand(llvm::MDNode::get(Ctx, MDVals));
tools/clang/lib/CodeGen/CGStmt.cpp 1232 llvm::MDNode *Weights = nullptr;
1885 static llvm::MDNode *getAsmSrcLocInfo(const StringLiteral *Str,
1909 return llvm::MDNode::get(CGF.getLLVMContext(), Locs);
1939 llvm::MDNode::get(CGF.getLLVMContext(),
tools/clang/lib/CodeGen/CodeGenFunction.cpp 558 Fn->setMetadata("vec_type_hint", llvm::MDNode::get(Context, AttrMDArgs));
566 Fn->setMetadata("work_group_size_hint", llvm::MDNode::get(Context, AttrMDArgs));
574 Fn->setMetadata("reqd_work_group_size", llvm::MDNode::get(Context, AttrMDArgs));
582 llvm::MDNode::get(Context, AttrMDArgs));
1536 llvm::MDNode *Unpredictable = nullptr;
1549 llvm::MDNode *Weights =
tools/clang/lib/CodeGen/CodeGenFunction.h 1334 llvm::MDNode *createProfileWeights(uint64_t TrueCount, uint64_t FalseCount);
1335 llvm::MDNode *createProfileWeights(ArrayRef<uint64_t> Weights);
1336 llvm::MDNode *createProfileWeightsForLoop(const Stmt *Cond,
4158 llvm::MDNode *getRangeForLoadFromType(QualType Ty);
tools/clang/lib/CodeGen/CodeGenModule.cpp 462 for (auto *MD : ELFDependentLibraries)
505 llvm::MDNode::get(VMContext, Ops));
581 SPIRVerMD->addOperand(llvm::MDNode::get(Ctx, SPIRVerElts));
643 OCLVerMD->addOperand(llvm::MDNode::get(Ctx, OCLVerElts));
656 llvm::MDNode *CodeGenModule::getTBAATypeInfo(QualType QTy) {
675 llvm::MDNode *CodeGenModule::getTBAAStructInfo(QualType QTy) {
681 llvm::MDNode *CodeGenModule::getTBAABaseTypeInfo(QualType QTy) {
687 llvm::MDNode *CodeGenModule::getTBAAAccessTagInfo(TBAAAccessInfo Info) {
718 if (llvm::MDNode *Tag = getTBAAAccessTagInfo(TBAAInfo))
725 llvm::MDNode::get(getLLVMContext(), {}));
1418 llvm::MDNode::get(VMContext, addressQuals));
1420 llvm::MDNode::get(VMContext, accessQuals));
1422 llvm::MDNode::get(VMContext, argTypeNames));
1424 llvm::MDNode::get(VMContext, argBaseTypeNames));
1426 llvm::MDNode::get(VMContext, argTypeQuals));
1429 llvm::MDNode::get(VMContext, argNames));
1879 *llvm::MDNode::get(Ctx, {MDB.createCallbackEncoding(
1930 LinkerOptionsMetadata.push_back(llvm::MDNode::get(getLLVMContext(), MDOpts));
1937 LinkerOptionsMetadata.push_back(llvm::MDNode::get(getLLVMContext(), MDOpts));
1944 llvm::MDNode::get(C, llvm::MDString::get(C, Lib)));
1951 LinkerOptionsMetadata.push_back(llvm::MDNode::get(C, MDOpts));
1957 SmallVectorImpl<llvm::MDNode *> &Metadata,
1988 Metadata.push_back(llvm::MDNode::get(Context, Args));
1998 Metadata.push_back(llvm::MDNode::get(Context, Args));
2004 Metadata.push_back(llvm::MDNode::get(Context, OptString));
2058 SmallVector<llvm::MDNode *, 16> MetadataArgs;
2068 for (auto *MD : LinkerOptionsMetadata)
5572 GlobalMetadata->addOperand(llvm::MDNode::get(CGM.getLLVMContext(), Ops));
5637 DeclPtrKind, llvm::MDNode::get(
5653 IdentMetadata->addOperand(llvm::MDNode::get(Ctx, IdentNode));
5663 CommandLineMetadata->addOperand(llvm::MDNode::get(Ctx, CommandLineNode));
5697 llvm::MDNode *CU = CUNode->getOperand(i);
5699 GCov->addOperand(llvm::MDNode::get(Ctx, Elts));
5778 InternalId = llvm::MDNode::getDistinct(getLLVMContext(),
tools/clang/lib/CodeGen/CodeGenModule.h 325 llvm::MDNode *NoObjCARCExceptionsMetadata = nullptr;
474 SmallVector<llvm::MDNode *, 16> LinkerOptionsMetadata;
477 SmallVector<llvm::MDNode *, 16> ELFDependentLibraries;
661 llvm::MDNode *getNoObjCARCExceptionsMetadata() {
663 NoObjCARCExceptionsMetadata = llvm::MDNode::get(getLLVMContext(), None);
708 llvm::MDNode *getTBAATypeInfo(QualType QTy);
718 llvm::MDNode *getTBAAStructInfo(QualType QTy);
722 llvm::MDNode *getTBAABaseTypeInfo(QualType QTy);
725 llvm::MDNode *getTBAAAccessTagInfo(TBAAAccessInfo Info);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 1011 llvm::MDNode *CodeGenFunction::createProfileWeights(uint64_t TrueCount,
1025 llvm::MDNode *
1048 llvm::MDNode *CodeGenFunction::createProfileWeightsForLoop(const Stmt *Cond,
tools/clang/lib/CodeGen/CodeGenTBAA.cpp 43 llvm::MDNode *CodeGenTBAA::getRoot() {
58 llvm::MDNode *CodeGenTBAA::createScalarTypeNode(StringRef Name,
59 llvm::MDNode *Parent,
68 llvm::MDNode *CodeGenTBAA::getChar() {
114 llvm::MDNode *CodeGenTBAA::getTypeInfoHelper(const Type *Ty) {
187 llvm::MDNode *CodeGenTBAA::getTypeInfo(QualType QTy) {
207 if (llvm::MDNode *N = MetadataCache[Ty])
213 llvm::MDNode *TypeNode = getTypeInfoHelper(Ty);
275 llvm::MDNode *TBAAType = MayAlias ? getChar() : getTypeInfo(QTy);
276 llvm::MDNode *TBAATag = getAccessTagInfo(TBAAAccessInfo(TBAAType, Size));
281 llvm::MDNode *
285 if (llvm::MDNode *N = StructMetadataCache[Ty])
296 llvm::MDNode *CodeGenTBAA::getBaseTypeInfoHelper(const Type *Ty) {
305 llvm::MDNode *TypeNode = isValidBaseType(FieldQTy) ?
327 llvm::MDNode *Parent = getChar();
334 SmallVector<std::pair<llvm::MDNode*, uint64_t>, 4> OffsetsAndTypes;
343 llvm::MDNode *CodeGenTBAA::getBaseTypeInfo(QualType QTy) {
348 if (llvm::MDNode *N = BaseTypeMetadataCache[Ty])
354 llvm::MDNode *TypeNode = getBaseTypeInfoHelper(Ty);
358 llvm::MDNode *CodeGenTBAA::getAccessTagInfo(TBAAAccessInfo Info) {
370 llvm::MDNode *&N = AccessTagMetadataCache[Info];
tools/clang/lib/CodeGen/CodeGenTBAA.h 43 TBAAAccessInfo(TBAAAccessKind Kind, llvm::MDNode *BaseType,
44 llvm::MDNode *AccessType, uint64_t Offset, uint64_t Size)
49 TBAAAccessInfo(llvm::MDNode *BaseType, llvm::MDNode *AccessType,
49 TBAAAccessInfo(llvm::MDNode *BaseType, llvm::MDNode *AccessType,
55 explicit TBAAAccessInfo(llvm::MDNode *AccessType, uint64_t Size)
101 llvm::MDNode *BaseType;
105 llvm::MDNode *AccessType;
129 llvm::DenseMap<const Type *, llvm::MDNode *> MetadataCache;
131 llvm::DenseMap<const Type *, llvm::MDNode *> BaseTypeMetadataCache;
133 llvm::DenseMap<TBAAAccessInfo, llvm::MDNode *> AccessTagMetadataCache;
137 llvm::DenseMap<const Type *, llvm::MDNode *> StructMetadataCache;
139 llvm::MDNode *Root;
140 llvm::MDNode *Char;
144 llvm::MDNode *getRoot();
148 llvm::MDNode *getChar();
159 llvm::MDNode *createScalarTypeNode(StringRef Name, llvm::MDNode *Parent,
159 llvm::MDNode *createScalarTypeNode(StringRef Name, llvm::MDNode *Parent,
164 llvm::MDNode *getTypeInfoHelper(const Type *Ty);
168 llvm::MDNode *getBaseTypeInfoHelper(const Type *Ty);
177 llvm::MDNode *getTypeInfo(QualType QTy);
189 llvm::MDNode *getTBAAStructInfo(QualType QTy);
193 llvm::MDNode *getBaseTypeInfo(QualType QTy);
196 llvm::MDNode *getAccessTagInfo(TBAAAccessInfo Info);
224 DenseMapInfo<MDNode *>::getEmptyKey(),
225 DenseMapInfo<MDNode *>::getEmptyKey(),
234 DenseMapInfo<MDNode *>::getTombstoneKey(),
235 DenseMapInfo<MDNode *>::getTombstoneKey(),
243 DenseMapInfo<MDNode *>::getHashValue(Val.BaseType) ^
244 DenseMapInfo<MDNode *>::getHashValue(Val.AccessType) ^
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 1807 llvm::MDNode::get(CGM.getLLVMContext(),
tools/clang/lib/CodeGen/SanitizerMetadata.cpp 56 llvm::MDNode *ThisGlobal = llvm::MDNode::get(VMContext, GlobalMetadata);
56 llvm::MDNode *ThisGlobal = llvm::MDNode::get(VMContext, GlobalMetadata);
87 llvm::MDNode::get(CGM.getLLVMContext(), None));
90 llvm::MDNode *SanitizerMetadata::getLocationMetadata(SourceLocation Loc) {
102 return llvm::MDNode::get(VMContext, LocMetadata);
tools/clang/lib/CodeGen/SanitizerMetadata.h 47 llvm::MDNode *getLocationMetadata(SourceLocation Loc);
tools/clang/lib/CodeGen/TargetInfo.cpp 6527 MD->addOperand(llvm::MDNode::get(Ctx, MDVals));
7419 OpenCLMetadata->addOperand(llvm::MDNode::get(Context, Operands));
8877 MD->addOperand(llvm::MDNode::get(Ctx, MDVals));
9975 F->setMetadata("kernel_arg_addr_space", llvm::MDNode::get(C, AddressQuals));
9976 F->setMetadata("kernel_arg_access_qual", llvm::MDNode::get(C, AccessQuals));
9977 F->setMetadata("kernel_arg_type", llvm::MDNode::get(C, ArgTypeNames));
9979 llvm::MDNode::get(C, ArgBaseTypeNames));
9980 F->setMetadata("kernel_arg_type_qual", llvm::MDNode::get(C, ArgTypeQuals));
9982 F->setMetadata("kernel_arg_name", llvm::MDNode::get(C, ArgNames));
tools/clang/unittests/CodeGen/IRMatchers.h 78 void push(const T *V, unsigned N = ~0) {
270 SmallVector<std::pair<unsigned, MDNode *>, 8> MDs;
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp 128 llvm::MDNode *metadata_node =
129 dyn_cast<llvm::MDNode>(named_metadata->getOperand(node_index));
366 MDNode *persistent_global_md = MDNode::get(m_module->getContext(), value_ref);
366 MDNode *persistent_global_md = MDNode::get(m_module->getContext(), value_ref);
1077 MDNode *alloc_md = alloc->getMetadata("clang.decl.ptr");
1122 MDNode *persistent_global_md = MDNode::get(m_module->getContext(), value_ref);
1122 MDNode *persistent_global_md = MDNode::get(m_module->getContext(), value_ref);
tools/llvm-reduce/deltas/ReduceMetadata.cpp 26 std::set<MDNode *> &SeenNodes,
27 std::set<MDNode *> &NodesToKeep) {
28 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
44 const std::set<MDNode *> &NodesToKeep) {
45 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
56 std::set<MDNode *> SeenNodes;
57 std::set<MDNode *> NodesToKeep;
106 static void addMetadataToSet(T &MDUser, std::set<MDNode *> &UnnamedNodes) {
107 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
115 std::set<MDNode *> UnnamedNodes;
tools/opt/Debugify.cpp 153 NMD->addOperand(MDNode::get(
tools/polly/include/polly/CodeGen/IRBuilder.h 104 llvm::SmallVector<llvm::MDNode *, 8> ParallelLoops;
107 llvm::MDNode *AliasScopeDomain;
110 llvm::MapVector<llvm::AssertingVH<llvm::Value>, llvm::MDNode *> AliasScopeMap;
113 llvm::DenseMap<llvm::AssertingVH<llvm::Value>, llvm::MDNode *>
117 llvm::DenseMap<const llvm::SCEV *, llvm::MDNode *> SecondLevelAliasScopeMap;
120 llvm::DenseMap<const llvm::SCEV *, llvm::MDNode *>
tools/polly/lib/CodeGen/IRBuilder.cpp 32 static MDNode *getID(LLVMContext &Ctx, Metadata *arg0 = nullptr,
34 MDNode *ID;
37 auto TempNode = MDNode::getTemporary(Ctx, None);
46 ID = MDNode::get(Ctx, Args);
84 MDNode *AliasScopeList = MDNode::get(Ctx, {});
84 MDNode *AliasScopeList = MDNode::get(Ctx, {});
91 MDNode::concatenate(AliasScopeList, MDNode::get(Ctx, Args));
91 MDNode::concatenate(AliasScopeList, MDNode::get(Ctx, Args));
105 MDNode *Id = getID(Header->getContext());
108 MDNode *Ids = ParallelLoops.empty()
110 : MDNode::concatenate(ParallelLoops.back(), Id);
125 MDNode *MData = nullptr;
133 MData = MDNode::concatenate(MData, getID(Ctx, MDNode::get(Ctx, Args)));
133 MData = MDNode::concatenate(MData, getID(Ctx, MDNode::get(Ctx, Args)));
138 MDNode *Ids = ParallelLoops.back();
139 MDNode *Id = cast<MDNode>(Ids->getOperand(Ids->getNumOperands() - 1));
139 MDNode *Id = cast<MDNode>(Ids->getOperand(Ids->getNumOperands() - 1));
140 MData = MDNode::concatenate(MData, Id);
182 SecondLevelAliasScopeMap[BasePtrSCEV] = MDNode::concatenate(
183 SecondLevelBasePtrAliasScopeList, MDNode::get(Ctx, Args));
185 SecondLevelOtherAliasScopeList = MDNode::concatenate(
240 auto *OtherAliasScopeList = OtherAliasScopeListMap[BasePtr];
unittests/Analysis/LoopInfoTest.cpp 92 if (MDNode *D = L->getLoopID()) {
141 MDNode *OldLoopID = L->getLoopID();
144 MDNode *NewLoopID = MDNode::get(Context, {nullptr});
144 MDNode *NewLoopID = MDNode::get(Context, {nullptr});
unittests/Analysis/MemorySSATest.cpp 787 Load->setMetadata(LLVMContext::MD_invariant_load, MDNode::get(C, {}));
unittests/Analysis/TBAATest.cpp 52 auto *RootMD = MD.createTBAARoot("Simple C/C++ TBAA");
53 auto *MD1 = MD.createTBAANode("omnipotent char", RootMD);
54 auto *MD2 = MD.createTBAANode("int", MD1);
72 auto *RootMD = MD.createTBAARoot("tbaa-root");
73 auto *MD1 = MD.createTBAANode("scalar-a", RootMD);
74 auto *StructTag1 = MD.createTBAAStructTagNode(MD1, MD1, 0);
75 auto *MD2 = MD.createTBAANode("scalar-b", RootMD);
76 auto *StructTag2 = MD.createTBAAStructTagNode(MD2, MD2, 0);
78 auto *GenericMD = MDNode::getMostGenericTBAA(StructTag1, StructTag2);
78 auto *GenericMD = MDNode::getMostGenericTBAA(StructTag1, StructTag2);
unittests/CodeGen/MachineInstrTest.cpp 389 MDNode *MDN = MDNode::getDistinct(Ctx, None);
389 MDNode *MDN = MDNode::getDistinct(Ctx, None);
435 MDNode *MDN = MDNode::getDistinct(Ctx, None);
435 MDNode *MDN = MDNode::getDistinct(Ctx, None);
472 MDNode *MDN = MDNode::getDistinct(Ctx, None);
472 MDNode *MDN = MDNode::getDistinct(Ctx, None);
unittests/CodeGen/MachineOperandTest.cpp 299 MDNode *Node = MDNode::get(Ctx, MDS);
299 MDNode *Node = MDNode::get(Ctx, MDS);
unittests/IR/AsmWriterTest.cpp 30 "", MDNode::get(Ctx, {ConstantAsMetadata::get(ConstantInt::get(Ty, 1))}));
unittests/IR/IRBuilderTest.cpp 340 MDNode *Weights = MDBuilder(Ctx).createBranchWeights(42, 13);
639 MDNode *FPMathA = MDB.createFPMath(0.01f);
640 MDNode *FPMathB = MDB.createFPMath(0.1f);
756 DenseMap<const MDNode *, MDNode *> IANodes;
756 DenseMap<const MDNode *, MDNode *> IANodes;
unittests/IR/InstructionsTest.cpp 413 MDNode *MD1 = MDHelper.createFPMath(1.0);
551 Call->setDebugLoc(DebugLoc(MDNode::get(C, None)));
581 Invoke->setDebugLoc(DebugLoc(MDNode::get(C, None)));
unittests/IR/MDBuilderTest.cpp 33 MDNode *MD0 = MDHelper.createFPMath(0.0);
34 MDNode *MD1 = MDHelper.createFPMath(1.0);
47 MDNode *R0 = MDHelper.createRange(A, A);
48 MDNode *R1 = MDHelper.createRange(A, B);
61 MDNode *R0 = MDHelper.createAnonymousTBAARoot();
62 MDNode *R1 = MDHelper.createAnonymousTBAARoot();
73 MDNode *R0 = MDHelper.createTBAARoot("Root");
74 MDNode *R1 = MDHelper.createTBAARoot("Root");
83 MDNode *R = MDHelper.createTBAARoot("Root");
84 MDNode *N0 = MDHelper.createTBAANode("Node", R);
85 MDNode *N1 = MDHelper.createTBAANode("edoN", R);
86 MDNode *N2 = MDHelper.createTBAANode("Node", R, true);
87 MDNode *N3 = MDHelper.createTBAANode("Node", R);
unittests/IR/MetadataTest.cpp 73 MDNode *getNode() { return MDNode::get(Context, None); }
73 MDNode *getNode() { return MDNode::get(Context, None); }
74 MDNode *getNode(Metadata *MD) { return MDNode::get(Context, MD); }
74 MDNode *getNode(Metadata *MD) { return MDNode::get(Context, MD); }
75 MDNode *getNode(Metadata *MD1, Metadata *MD2) {
77 return MDNode::get(Context, MDs);
187 MDNode *n1 = MDNode::get(Context, V);
187 MDNode *n1 = MDNode::get(Context, V);
189 MDNode *n2 = MDNode::get(Context, c1);
189 MDNode *n2 = MDNode::get(Context, c1);
191 MDNode *n3 = MDNode::get(Context, V);
191 MDNode *n3 = MDNode::get(Context, V);
192 MDNode *n4 = MDNode::getIfExists(Context, V);
192 MDNode *n4 = MDNode::getIfExists(Context, V);
193 MDNode *n5 = MDNode::getIfExists(Context, c1);
193 MDNode *n5 = MDNode::getIfExists(Context, c1);
194 MDNode *n6 = MDNode::getIfExists(Context, c2);
194 MDNode *n6 = MDNode::getIfExists(Context, c2);
215 MDNode *n = MDNode::get(Context, V);
215 MDNode *n = MDNode::get(Context, V);
227 auto Temp = MDNode::getTemporary(Context, None);
229 MDNode *Self = MDNode::get(Context, Args);
229 MDNode *Self = MDNode::get(Context, Args);
236 MDNode *Ref1 = MDNode::get(Context, Args);
236 MDNode *Ref1 = MDNode::get(Context, Args);
237 MDNode *Ref2 = MDNode::get(Context, Args);
237 MDNode *Ref2 = MDNode::get(Context, Args);
245 auto Temp = MDNode::getTemporary(Context, None);
246 Metadata *Args[] = {Temp.get(), MDNode::get(Context, None)};
247 MDNode *Self = MDNode::get(Context, Args);
247 MDNode *Self = MDNode::get(Context, Args);
254 MDNode *Ref1 = MDNode::get(Context, Args);
254 MDNode *Ref1 = MDNode::get(Context, Args);
255 MDNode *Ref2 = MDNode::get(Context, Args);
255 MDNode *Ref2 = MDNode::get(Context, Args);
264 MDNode *N0 = getNode();
265 MDNode *N1 = getNode(N0);
266 MDNode *N2 = getNode(N0, N1);
269 MDNode *N = MDNode::get(Context, Args);
269 MDNode *N = MDNode::get(Context, Args);
279 MDNode *Nodes[] = {N0, N1, N2};
280 for (auto *Node : Nodes)
305 MDNode *Arg = getNode();
306 TempMDNode Temp = MDNode::getTemporary(Context, Arg);
307 MDNode *N = getNode(Temp.get());
323 MDNode *N0 = getNode();
324 MDNode *N1 = getNode(N0);
325 MDNode *N2 = getNode(N0, N1);
328 MDNode *N = MDNode::get(Context, Args);
328 MDNode *N = MDNode::get(Context, Args);
355 auto *N0 = MDNode::getDistinct(Context, None);
356 auto *N1 = MDNode::getDistinct(Context, None);
381 auto *N0 = MDNode::getDistinct(Context, None);
382 auto *N1 = MDNode::getDistinct(Context, None);
416 auto *N0 = MDNode::getDistinct(Context, None);
428 MDNode *Empty = MDNode::get(Context, None);
428 MDNode *Empty = MDNode::get(Context, None);
432 MDNode *N = MDNode::get(Context, Ops);
432 MDNode *N = MDNode::get(Context, Ops);
441 MDNode *NullOp = MDNode::get(Context, Ops);
441 MDNode *NullOp = MDNode::get(Context, Ops);
448 MDNode *Empty = MDNode::get(Context, None);
448 MDNode *Empty = MDNode::get(Context, None);
454 MDNode *Wrapped1 = MDNode::get(Context, Wrapped1Ops);
454 MDNode *Wrapped1 = MDNode::get(Context, Wrapped1Ops);
461 MDNode *Wrapped2 = MDNode::get(Context, Wrapped2Ops);
461 MDNode *Wrapped2 = MDNode::get(Context, Wrapped2Ops);
509 MDNode *Empty = MDNode::get(Context, None);
509 MDNode *Empty = MDNode::get(Context, None);
515 MDNode *Distinct1 = MDNode::getDistinct(Context, None);
515 MDNode *Distinct1 = MDNode::getDistinct(Context, None);
516 MDNode *Distinct2 = MDNode::getDistinct(Context, None);
516 MDNode *Distinct2 = MDNode::getDistinct(Context, None);
528 MDNode *U = MDTuple::get(Context, None);
529 MDNode *D = MDTuple::getDistinct(Context, None);
537 MDNode *U = MDTuple::get(Context, None);
538 MDNode *D = MDTuple::getDistinct(Context, None);
546 MDNode *U = MDTuple::get(Context, None);
547 MDNode *D = MDTuple::getDistinct(Context, None);
561 MDNode *Distinct = MDNode::getDistinct(Context, Ops);
561 MDNode *Distinct = MDNode::getDistinct(Context, Ops);
566 MDNode *Empty = MDNode::get(Context, None);
566 MDNode *Empty = MDNode::get(Context, None);
573 MDNode *N0 = MDNode::get(Context, None);
573 MDNode *N0 = MDNode::get(Context, None);
578 MDNode *N1 = MDNode::get(Context, Ops1);
578 MDNode *N1 = MDNode::get(Context, Ops1);
582 MDNode *N2 = MDNode::get(Context, Ops2);
582 MDNode *N2 = MDNode::get(Context, Ops2);
586 MDNode *N3 = MDNode::get(Context, Ops3);
586 MDNode *N3 = MDNode::get(Context, Ops3);
591 MDNode *N4 = MDNode::get(Context, Ops4);
591 MDNode *N4 = MDNode::get(Context, Ops4);
605 MDNode *N5 = MDNode::getDistinct(Context, Ops5);
605 MDNode *N5 = MDNode::getDistinct(Context, Ops5);
607 MDNode *N6 = MDNode::getDistinct(Context, Ops6);
607 MDNode *N6 = MDNode::getDistinct(Context, Ops6);
643 MDNode *Empty = MDTuple::get(Context, ArrayRef<Metadata *>());
644 MDNode *N = MDTuple::get(Context, Ops);
670 FirstUniqued = MDNode::replaceWithUniqued(std::move(Temp));
681 auto *Uniqued = MDNode::replaceWithUniqued(std::move(Temp));
693 auto *Uniqued = MDNode::replaceWithUniqued(std::move(Temp));
783 auto *Distinct = MDNode::replaceWithDistinct(std::move(Temp));
796 auto *Distinct = MDNode::replaceWithDistinct(std::move(Temp));
823 auto *N = MDNode::replaceWithPermanent(std::move(Temp));
961 MDNode *N = getSubprogram();
970 MDNode *N = MDNode::get(Context, None);
970 MDNode *N = MDNode::get(Context, None);
977 MDNode *N = MDNode::get(Context, None);
977 MDNode *N = MDNode::get(Context, None);
1095 auto *Empty = MDNode::get(Context, None);
1751 auto *Clone = MDNode::replaceWithPermanent(std::move(Temp));
2485 MDNode *N = MDNode::get(Context, None);
2485 MDNode *N = MDNode::get(Context, None);
2495 MDNode *N = MDNode::get(Context, None);
2495 MDNode *N = MDNode::get(Context, None);
2497 MDNode *N2 = MDNode::get(Context, Ops);
2497 MDNode *N2 = MDNode::get(Context, Ops);
2515 auto *N = MDNode::get(Context, Ops);
2627 MDNode *n = MDNode::get(Context, V);
2627 MDNode *n = MDNode::get(Context, V);
2628 MDNode *n2 = MDNode::get(Context, V2);
2628 MDNode *n2 = MDNode::get(Context, V2);
2711 SmallVector<std::pair<unsigned, MDNode *>, 4> MDs;
unittests/Linker/LinkModulesTest.cpp 264 MDNode *M0 = F->getMetadata("attach");
265 MDNode *M1 =
266 cast<MDNode>(cast<MetadataAsValue>(CI->getArgOperand(0))->getMetadata());
267 MDNode *M2 = RI->getMetadata("attach");
268 MDNode *M3 = NMD->getOperand(0);
269 MDNode *M4 = NMD->getOperand(1);
unittests/Transforms/Utils/CloningTest.cpp 728 GV->addMetadata(LLVMContext::MD_type, *MDNode::get(C, {}));
unittests/Transforms/Utils/ValueMapperTest.cpp 32 MDNode *U0;
33 MDNode *U1;
40 U1 = MDNode::replaceWithUniqued(std::move(T));
75 MDNode *N0; // !0 = !{!1}
76 MDNode *N1; // !1 = !{!0, i8* @G0}
82 N0 = MDNode::replaceWithUniqued(std::move(T0));
96 MDNode *MappedN0 = ValueMapper(VM).mapMDNode(*N0);
97 MDNode *MappedN1 = ValueMapper(VM).mapMDNode(*N1);
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 123 typedef _Tp value_type;
usr/include/c++/7.4.0/bits/unique_ptr.h 122 using type = _Up*;
137 using pointer = typename _Ptr<_Tp, _Dp>::type;
161 typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
163 __uniq_ptr_impl<_Tp, _Dp> _M_t;
166 using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
167 using element_type = _Tp;
252 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
297 __safe_conversion_up<_Up, _Ep>,
301 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>
1983 { typedef _Up type; };
utils/unittest/googletest/include/gtest/gtest-printers.h 407 T* p, ::std::ostream* os) {
416 if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
utils/unittest/googletest/include/gtest/gtest.h 1475 T* rhs) {