|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/DenseMap.h 40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
45 ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
46 const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
66 using mapped_type = ValueT;
69 using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
71 DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
185 ValueT lookup(const_arg_type_t<KeyT> Val) const {
195 std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
202 std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
249 std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
277 TheBucket->getSecond().~ValueT();
299 ValueT &operator[](const KeyT &Key) {
311 ValueT &operator[](KeyT &&Key) {
338 P->getSecond().~ValueT();
380 ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
384 B->getSecond().~ValueT();
392 const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
400 is_trivially_copyable<ValueT>::value)
410 ValueT(other.getBuckets()[i].getSecond());
520 ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
526 ValueT &&Value, LookupKeyT &Lookup) {
852 SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
853 ValueT, KeyInfoT, BucketT> {
1031 ::new (&TmpEnd->getSecond()) ValueT(std::move(P->getSecond()));
1033 P->getSecond().~ValueT();
1163 using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
1199 const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
include/llvm/Analysis/AliasAnalysis.h 139 LLVM_NODISCARD inline bool isNoModRef(const ModRefInfo MRI) {
140 return (static_cast<int>(MRI) & static_cast<int>(ModRefInfo::MustModRef)) ==
141 static_cast<int>(ModRefInfo::Must);
143 LLVM_NODISCARD inline bool isModOrRefSet(const ModRefInfo MRI) {
144 return static_cast<int>(MRI) & static_cast<int>(ModRefInfo::MustModRef);
146 LLVM_NODISCARD inline bool isModAndRefSet(const ModRefInfo MRI) {
147 return (static_cast<int>(MRI) & static_cast<int>(ModRefInfo::MustModRef)) ==
148 static_cast<int>(ModRefInfo::MustModRef);
150 LLVM_NODISCARD inline bool isModSet(const ModRefInfo MRI) {
151 return static_cast<int>(MRI) & static_cast<int>(ModRefInfo::MustMod);
153 LLVM_NODISCARD inline bool isRefSet(const ModRefInfo MRI) {
154 return static_cast<int>(MRI) & static_cast<int>(ModRefInfo::MustRef);
156 LLVM_NODISCARD inline bool isMustSet(const ModRefInfo MRI) {
157 return !(static_cast<int>(MRI) & static_cast<int>(ModRefInfo::NoModRef));
160 LLVM_NODISCARD inline ModRefInfo setMod(const ModRefInfo MRI) {
160 LLVM_NODISCARD inline ModRefInfo setMod(const ModRefInfo MRI) {
162 static_cast<int>(ModRefInfo::MustMod));
164 LLVM_NODISCARD inline ModRefInfo setRef(const ModRefInfo MRI) {
164 LLVM_NODISCARD inline ModRefInfo setRef(const ModRefInfo MRI) {
166 static_cast<int>(ModRefInfo::MustRef));
168 LLVM_NODISCARD inline ModRefInfo setMust(const ModRefInfo MRI) {
168 LLVM_NODISCARD inline ModRefInfo setMust(const ModRefInfo MRI) {
170 static_cast<int>(ModRefInfo::MustModRef));
172 LLVM_NODISCARD inline ModRefInfo setModAndRef(const ModRefInfo MRI) {
172 LLVM_NODISCARD inline ModRefInfo setModAndRef(const ModRefInfo MRI) {
174 static_cast<int>(ModRefInfo::MustModRef));
176 LLVM_NODISCARD inline ModRefInfo clearMod(const ModRefInfo MRI) {
176 LLVM_NODISCARD inline ModRefInfo clearMod(const ModRefInfo MRI) {
177 return ModRefInfo(static_cast<int>(MRI) & static_cast<int>(ModRefInfo::Ref));
179 LLVM_NODISCARD inline ModRefInfo clearRef(const ModRefInfo MRI) {
179 LLVM_NODISCARD inline ModRefInfo clearRef(const ModRefInfo MRI) {
180 return ModRefInfo(static_cast<int>(MRI) & static_cast<int>(ModRefInfo::Mod));
182 LLVM_NODISCARD inline ModRefInfo clearMust(const ModRefInfo MRI) {
182 LLVM_NODISCARD inline ModRefInfo clearMust(const ModRefInfo MRI) {
184 static_cast<int>(ModRefInfo::NoModRef));
186 LLVM_NODISCARD inline ModRefInfo unionModRef(const ModRefInfo MRI1,
186 LLVM_NODISCARD inline ModRefInfo unionModRef(const ModRefInfo MRI1,
187 const ModRefInfo MRI2) {
190 LLVM_NODISCARD inline ModRefInfo intersectModRef(const ModRefInfo MRI1,
190 LLVM_NODISCARD inline ModRefInfo intersectModRef(const ModRefInfo MRI1,
191 const ModRefInfo MRI2) {
223 FMRL_Nowhere | static_cast<int>(ModRefInfo::NoModRef),
231 FMRL_ArgumentPointees | static_cast<int>(ModRefInfo::Ref),
239 FMRL_ArgumentPointees | static_cast<int>(ModRefInfo::ModRef),
246 FMRL_InaccessibleMem | static_cast<int>(ModRefInfo::ModRef),
257 static_cast<int>(ModRefInfo::ModRef),
265 FMRB_OnlyReadsMemory = FMRL_Anywhere | static_cast<int>(ModRefInfo::Ref),
272 FMRB_DoesNotReadMemory = FMRL_Anywhere | static_cast<int>(ModRefInfo::Mod),
277 FMRL_Anywhere | static_cast<int>(ModRefInfo::ModRef)
284 LLVM_NODISCARD inline ModRefInfo
286 return ModRefInfo(FMRB & static_cast<int>(ModRefInfo::ModRef));
411 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx);
524 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc);
527 ModRefInfo getModRefInfo(const CallBase *Call, const Value *P,
534 ModRefInfo getModRefInfo(const LoadInst *L, const MemoryLocation &Loc);
537 ModRefInfo getModRefInfo(const LoadInst *L, const Value *P,
544 ModRefInfo getModRefInfo(const StoreInst *S, const MemoryLocation &Loc);
547 ModRefInfo getModRefInfo(const StoreInst *S, const Value *P,
554 ModRefInfo getModRefInfo(const FenceInst *S, const MemoryLocation &Loc);
557 ModRefInfo getModRefInfo(const FenceInst *S, const Value *P,
564 ModRefInfo getModRefInfo(const AtomicCmpXchgInst *CX,
568 ModRefInfo getModRefInfo(const AtomicCmpXchgInst *CX, const Value *P,
575 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc);
578 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const Value *P,
585 ModRefInfo getModRefInfo(const VAArgInst *I, const MemoryLocation &Loc);
588 ModRefInfo getModRefInfo(const VAArgInst *I, const Value *P,
595 ModRefInfo getModRefInfo(const CatchPadInst *I, const MemoryLocation &Loc);
598 ModRefInfo getModRefInfo(const CatchPadInst *I, const Value *P,
605 ModRefInfo getModRefInfo(const CatchReturnInst *I, const MemoryLocation &Loc);
608 ModRefInfo getModRefInfo(const CatchReturnInst *I, const Value *P,
623 ModRefInfo getModRefInfo(const Instruction *I,
630 ModRefInfo getModRefInfo(const Instruction *I, const Value *P,
637 ModRefInfo getModRefInfo(Instruction *I, const CallBase *Call);
642 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2);
650 ModRefInfo callCapturesBefore(const Instruction *I,
655 ModRefInfo callCapturesBefore(const Instruction *I, const Value *P,
683 const ModRefInfo Mode);
688 const ModRefInfo Mode) {
697 ModRefInfo getModRefInfo(Instruction *I, const CallBase *Call2,
699 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
701 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
703 ModRefInfo getModRefInfo(const VAArgInst *V, const MemoryLocation &Loc,
705 ModRefInfo getModRefInfo(const LoadInst *L, const MemoryLocation &Loc,
707 ModRefInfo getModRefInfo(const StoreInst *S, const MemoryLocation &Loc,
709 ModRefInfo getModRefInfo(const FenceInst *S, const MemoryLocation &Loc,
711 ModRefInfo getModRefInfo(const AtomicCmpXchgInst *CX,
713 ModRefInfo getModRefInfo(const AtomicRMWInst *RMW, const MemoryLocation &Loc,
715 ModRefInfo getModRefInfo(const CatchPadInst *I, const MemoryLocation &Loc,
717 ModRefInfo getModRefInfo(const CatchReturnInst *I, const MemoryLocation &Loc,
719 ModRefInfo getModRefInfo(const Instruction *I,
752 return ModRefInfo::NoModRef;
789 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc) {
792 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2) {
795 ModRefInfo getModRefInfo(const Instruction *I,
799 ModRefInfo getModRefInfo(Instruction *I, const CallBase *Call2) {
802 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx) {
857 virtual ModRefInfo getArgModRefInfo(const CallBase *Call,
868 virtual ModRefInfo getModRefInfo(const CallBase *Call,
875 virtual ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
908 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx) override {
920 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
925 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
985 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx) {
999 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
1005 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
1042 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx) {
1043 return ModRefInfo::ModRef;
1054 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
1056 return ModRefInfo::ModRef;
1059 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
1061 return ModRefInfo::ModRef;
include/llvm/Analysis/BasicAliasAnalysis.h 87 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
90 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
98 ModRefInfo getArgModRefInfo(const CallBase *Call, unsigned ArgIdx);
include/llvm/Analysis/GlobalsModRef.h 95 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
121 ModRefInfo getModRefInfoForArgument(const CallBase *Call,
include/llvm/Analysis/ObjCARCAliasAnalysis.h 64 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
include/llvm/Analysis/ScopedNoAliasAA.h 44 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
46 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
include/llvm/Analysis/TypeBasedAliasAnalysis.h 49 ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc,
51 ModRefInfo getModRefInfo(const CallBase *Call1, const CallBase *Call2,
include/llvm/Support/type_traits.h 91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
lib/Analysis/AliasAnalysis.cpp 135 ModRefInfo AAResults::getArgModRefInfo(const CallBase *Call, unsigned ArgIdx) {
136 ModRefInfo Result = ModRefInfo::ModRef;
136 ModRefInfo Result = ModRefInfo::ModRef;
143 return ModRefInfo::NoModRef;
149 ModRefInfo AAResults::getModRefInfo(Instruction *I, const CallBase *Call2) {
154 ModRefInfo AAResults::getModRefInfo(Instruction *I, const CallBase *Call2,
162 return ModRefInfo::ModRef;
169 ModRefInfo MR = getModRefInfo(Call2, DefLoc, AAQI);
173 return ModRefInfo::NoModRef;
176 ModRefInfo AAResults::getModRefInfo(const CallBase *Call,
182 ModRefInfo AAResults::getModRefInfo(const CallBase *Call,
185 ModRefInfo Result = ModRefInfo::ModRef;
185 ModRefInfo Result = ModRefInfo::ModRef;
192 return ModRefInfo::NoModRef;
200 return ModRefInfo::NoModRef;
209 ModRefInfo AllArgsMask = ModRefInfo::NoModRef;
209 ModRefInfo AllArgsMask = ModRefInfo::NoModRef;
220 ModRefInfo ArgMask = getArgModRefInfo(Call, ArgIdx);
229 return ModRefInfo::NoModRef;
244 ModRefInfo AAResults::getModRefInfo(const CallBase *Call1,
250 ModRefInfo AAResults::getModRefInfo(const CallBase *Call1,
252 ModRefInfo Result = ModRefInfo::ModRef;
252 ModRefInfo Result = ModRefInfo::ModRef;
259 return ModRefInfo::NoModRef;
268 return ModRefInfo::NoModRef;
272 return ModRefInfo::NoModRef;
276 return ModRefInfo::NoModRef;
290 return ModRefInfo::NoModRef;
291 ModRefInfo R = ModRefInfo::NoModRef;
291 ModRefInfo R = ModRefInfo::NoModRef;
306 ModRefInfo ArgModRefC2 = getArgModRefInfo(Call2, Call2ArgIdx);
307 ModRefInfo ArgMask = ModRefInfo::NoModRef;
307 ModRefInfo ArgMask = ModRefInfo::NoModRef;
309 ArgMask = ModRefInfo::ModRef;
311 ArgMask = ModRefInfo::Mod;
315 ModRefInfo ModRefC1 = getModRefInfo(Call1, Call2ArgLoc);
331 return ModRefInfo::NoModRef;
341 return ModRefInfo::NoModRef;
342 ModRefInfo R = ModRefInfo::NoModRef;
342 ModRefInfo R = ModRefInfo::NoModRef;
355 ModRefInfo ArgModRefC1 = getArgModRefInfo(Call1, Call1ArgIdx);
356 ModRefInfo ModRefC2 = getModRefInfo(Call2, Call1ArgLoc);
373 return ModRefInfo::NoModRef;
432 ModRefInfo AAResults::getModRefInfo(const LoadInst *L,
437 ModRefInfo AAResults::getModRefInfo(const LoadInst *L,
442 return ModRefInfo::ModRef;
449 return ModRefInfo::NoModRef;
451 return ModRefInfo::MustRef;
454 return ModRefInfo::Ref;
457 ModRefInfo AAResults::getModRefInfo(const StoreInst *S,
462 ModRefInfo AAResults::getModRefInfo(const StoreInst *S,
467 return ModRefInfo::ModRef;
474 return ModRefInfo::NoModRef;
479 return ModRefInfo::NoModRef;
483 return ModRefInfo::MustMod;
487 return ModRefInfo::Mod;
490 ModRefInfo AAResults::getModRefInfo(const FenceInst *S, const MemoryLocation &Loc) {
495 ModRefInfo AAResults::getModRefInfo(const FenceInst *S,
501 return ModRefInfo::Ref;
502 return ModRefInfo::ModRef;
505 ModRefInfo AAResults::getModRefInfo(const VAArgInst *V,
511 ModRefInfo AAResults::getModRefInfo(const VAArgInst *V,
519 return ModRefInfo::NoModRef;
524 return ModRefInfo::NoModRef;
528 return ModRefInfo::MustModRef;
532 return ModRefInfo::ModRef;
535 ModRefInfo AAResults::getModRefInfo(const CatchPadInst *CatchPad,
541 ModRefInfo AAResults::getModRefInfo(const CatchPadInst *CatchPad,
548 return ModRefInfo::NoModRef;
552 return ModRefInfo::ModRef;
555 ModRefInfo AAResults::getModRefInfo(const CatchReturnInst *CatchRet,
561 ModRefInfo AAResults::getModRefInfo(const CatchReturnInst *CatchRet,
568 return ModRefInfo::NoModRef;
572 return ModRefInfo::ModRef;
575 ModRefInfo AAResults::getModRefInfo(const AtomicCmpXchgInst *CX,
581 ModRefInfo AAResults::getModRefInfo(const AtomicCmpXchgInst *CX,
586 return ModRefInfo::ModRef;
593 return ModRefInfo::NoModRef;
597 return ModRefInfo::MustModRef;
600 return ModRefInfo::ModRef;
603 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW,
609 ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW,
614 return ModRefInfo::ModRef;
621 return ModRefInfo::NoModRef;
625 return ModRefInfo::MustModRef;
628 return ModRefInfo::ModRef;
639 ModRefInfo AAResults::callCapturesBefore(const Instruction *I,
644 return ModRefInfo::ModRef;
650 return ModRefInfo::ModRef;
654 return ModRefInfo::ModRef;
660 return ModRefInfo::ModRef;
663 ModRefInfo R = ModRefInfo::NoModRef;
663 ModRefInfo R = ModRefInfo::NoModRef;
688 R = ModRefInfo::Ref;
692 return ModRefInfo::ModRef;
702 return canInstructionRangeModRef(BB.front(), BB.back(), Loc, ModRefInfo::Mod);
713 const ModRefInfo Mode) {
lib/Analysis/AliasAnalysisEvaluator.cpp 239 case ModRefInfo::NoModRef:
244 case ModRefInfo::Mod:
248 case ModRefInfo::Ref:
252 case ModRefInfo::ModRef:
257 case ModRefInfo::Must:
261 case ModRefInfo::MustMod:
266 case ModRefInfo::MustRef:
271 case ModRefInfo::MustModRef:
286 case ModRefInfo::NoModRef:
291 case ModRefInfo::Mod:
295 case ModRefInfo::Ref:
299 case ModRefInfo::ModRef:
304 case ModRefInfo::Must:
308 case ModRefInfo::MustMod:
313 case ModRefInfo::MustRef:
318 case ModRefInfo::MustModRef:
lib/Analysis/AliasSetTracker.cpp 487 ModRefInfo CallMask = createModRefInfo(AA.getModRefBehavior(Call));
504 ModRefInfo ArgMask = AA.getArgModRefInfo(Call, ArgIdx);
lib/Analysis/BasicAliasAnalysis.cpp 796 ModRefInfo BasicAAResult::getArgModRefInfo(const CallBase *Call,
800 return ModRefInfo::Mod;
803 return ModRefInfo::Ref;
806 return ModRefInfo::NoModRef;
869 ModRefInfo BasicAAResult::getModRefInfo(const CallBase *Call,
886 return ModRefInfo::NoModRef;
892 return ModRefInfo::Mod;
902 ModRefInfo Result = ModRefInfo::NoModRef;
902 ModRefInfo Result = ModRefInfo::NoModRef;
945 Result = ModRefInfo::ModRef;
957 return ModRefInfo::NoModRef;
972 return ModRefInfo::NoModRef;
985 return ModRefInfo::Ref;
989 return ModRefInfo::Mod;
992 ModRefInfo rv = ModRefInfo::NoModRef;
992 ModRefInfo rv = ModRefInfo::NoModRef;
1004 return ModRefInfo::NoModRef;
1014 return ModRefInfo::Ref;
1040 return ModRefInfo::Ref;
1046 ModRefInfo BasicAAResult::getModRefInfo(const CallBase *Call1,
1054 return ModRefInfo::NoModRef;
1069 ? ModRefInfo::Ref
1070 : ModRefInfo::NoModRef;
1074 ? ModRefInfo::Mod
1075 : ModRefInfo::NoModRef;
lib/Analysis/GlobalsModRef.cpp 62 typedef SmallDenseMap<const GlobalValue *, ModRefInfo, 16> GlobalInfoMapType;
93 static_assert((MayReadAnyGlobal & static_cast<int>(ModRefInfo::MustModRef)) ==
97 static_cast<int>(ModRefInfo::MustModRef)) >>
135 ModRefInfo globalClearMayReadAnyGlobal(int I) const {
136 return ModRefInfo((I & static_cast<int>(ModRefInfo::ModRef)) |
137 static_cast<int>(ModRefInfo::NoModRef));
141 ModRefInfo getModRefInfo() const {
146 void addModRefInfo(ModRefInfo NewMRI) {
159 ModRefInfo getModRefInfoForGlobal(const GlobalValue &GV) const {
160 ModRefInfo GlobalMRI =
161 mayReadAnyGlobal() ? ModRefInfo::Ref : ModRefInfo::NoModRef;
161 mayReadAnyGlobal() ? ModRefInfo::Ref : ModRefInfo::NoModRef;
183 void addModRefInfoForGlobal(const GlobalValue &GV, ModRefInfo NewMRI) {
189 auto &GlobalMRI = P->Map[&GV];
314 FunctionInfos[Reader].addModRefInfoForGlobal(GV, ModRefInfo::Ref);
323 FunctionInfos[Writer].addModRefInfoForGlobal(GV, ModRefInfo::Mod);
522 FI.addModRefInfo(ModRefInfo::Ref);
528 FI.addModRefInfo(ModRefInfo::ModRef);
584 FI.addModRefInfo(ModRefInfo::ModRef);
603 FI.addModRefInfo(ModRefInfo::Ref);
605 FI.addModRefInfo(ModRefInfo::Mod);
890 ModRefInfo GlobalsAAResult::getModRefInfoForArgument(const CallBase *Call,
894 return ModRefInfo::NoModRef;
895 ModRefInfo ConservativeResult =
896 Call->onlyReadsMemory() ? ModRefInfo::Ref : ModRefInfo::ModRef;
896 Call->onlyReadsMemory() ? ModRefInfo::Ref : ModRefInfo::ModRef;
918 return ModRefInfo::NoModRef;
921 ModRefInfo GlobalsAAResult::getModRefInfo(const CallBase *Call,
924 ModRefInfo Known = ModRefInfo::ModRef;
924 ModRefInfo Known = ModRefInfo::ModRef;
938 return ModRefInfo::NoModRef; // No need to query other mod/ref analyses
lib/Analysis/MemoryDependenceAnalysis.cpp 116 static ModRefInfo GetLocation(const Instruction *Inst, MemoryLocation &Loc,
121 return ModRefInfo::Ref;
125 return ModRefInfo::ModRef;
128 return ModRefInfo::ModRef;
134 return ModRefInfo::Mod;
138 return ModRefInfo::ModRef;
141 return ModRefInfo::ModRef;
146 return ModRefInfo::ModRef;
152 return ModRefInfo::Mod;
163 return ModRefInfo::Mod;
168 return ModRefInfo::Mod;
176 return ModRefInfo::ModRef;
178 return ModRefInfo::Ref;
179 return ModRefInfo::NoModRef;
203 ModRefInfo MR = GetLocation(Inst, Loc, TLI);
685 ModRefInfo MR = AA.getModRefInfo(Inst, MemLoc);
690 case ModRefInfo::NoModRef:
693 case ModRefInfo::Mod:
695 case ModRefInfo::Ref:
746 ModRefInfo MR = GetLocation(QueryInst, MemLoc, TLI);
lib/Analysis/MemorySSA.cpp 299 ModRefInfo I = AA.getModRefInfo(DefInst, UseCall);
308 ModRefInfo I = AA.getModRefInfo(DefInst, UseLoc);
1754 ModRefInfo ModRef = AAP->getModRefInfo(I, None);
1762 ModRefInfo ModRef = AAP->getModRefInfo(I, None);
lib/Analysis/ObjCARCAliasAnalysis.cpp 110 ModRefInfo ObjCARCAAResult::getModRefInfo(const CallBase *Call,
128 return ModRefInfo::NoModRef;
lib/Analysis/ScopedNoAliasAA.cpp 98 ModRefInfo ScopedNoAliasAAResult::getModRefInfo(const CallBase *Call,
106 return ModRefInfo::NoModRef;
110 return ModRefInfo::NoModRef;
115 ModRefInfo ScopedNoAliasAAResult::getModRefInfo(const CallBase *Call1,
123 return ModRefInfo::NoModRef;
127 return ModRefInfo::NoModRef;
lib/Analysis/TypeBasedAliasAnalysis.cpp 424 ModRefInfo TypeBasedAAResult::getModRefInfo(const CallBase *Call,
433 return ModRefInfo::NoModRef;
438 ModRefInfo TypeBasedAAResult::getModRefInfo(const CallBase *Call1,
447 return ModRefInfo::NoModRef;
lib/Target/ARM/ARMParallelDSP.cpp 384 ModRefInfo::ModRef)))
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 1967 mayLoopAccessLocation(Value *Ptr, ModRefInfo Access, Loop *L,
2071 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount,
2075 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop,
2118 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount,
lib/Transforms/IPO/ArgumentPromotion.cpp 757 if (AAR.canInstructionRangeModRef(BB->front(), *Load, Loc, ModRefInfo::Mod))
lib/Transforms/IPO/FunctionAttrs.cpp 144 ModRefInfo MRI = createModRefInfo(MRB);
lib/Transforms/Scalar/LICM.cpp 1262 ModRefInfo MRI = AA->getModRefInfo(CI, MemoryLocation::get(SI));
2273 auto Res = AA->getModRefInfo(&I, MemLoc);
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 858 mayLoopAccessLocation(Value *Ptr, ModRefInfo Access, Loop *L,
982 if (mayLoopAccessLocation(BasePtr, ModRefInfo::ModRef, CurLoop, BECount,
1101 if (mayLoopAccessLocation(StoreBasePtr, ModRefInfo::ModRef, CurLoop, BECount,
1121 if (mayLoopAccessLocation(LoadBasePtr, ModRefInfo::Mod, CurLoop, BECount,
lib/Transforms/Scalar/MemCpyOptimizer.cpp 863 ModRefInfo MR = AA.getModRefInfo(C, cpyDest, LocationSize::precise(srcSize));
lib/Transforms/Scalar/MergedLoadStoreMotion.cpp 178 return AA->canInstructionRangeModRef(Start, End, Loc, ModRefInfo::ModRef);
usr/include/c++/7.4.0/bits/move.h 98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_pair.h 209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_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
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
825 : public __is_destructible_safe<_Tp>::type
889 typedef decltype(__test<_Tp>(0)) type;
894 : public __and_<__not_<is_void<_Tp>>,
895 __is_default_constructible_impl<_Tp>>
915 : public __is_default_constructible_atom<_Tp>::type
921 : public __is_default_constructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
1160 : public is_constructible<_Tp, _Tp&&>
1160 : public is_constructible<_Tp, _Tp&&>
1166 : public __is_move_constructible_impl<_Tp>
1286 : public is_assignable<_Tp&, const _Tp&>
1286 : public is_assignable<_Tp&, const _Tp&>
1292 : public __is_copy_assignable_impl<_Tp>
1304 : public is_assignable<_Tp&, _Tp&&>
1304 : public is_assignable<_Tp&, _Tp&&>
1310 : public __is_move_assignable_impl<_Tp>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
1400 : public __and_<is_default_constructible<_Tp>,
1401 __is_implicitly_default_constructible_safe<_Tp>>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
utils/unittest/googletest/include/gtest/gtest-printers.h 140 static void PrintValue(const T& value, ::std::ostream* os) {
205 ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
206 TypeWithoutFormatter<T,
207 (internal::IsAProtocolMessage<T>::value ? kProtobuf :
208 internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
276 static ::std::string Format(const ToPrint& value) {
351 const T1& value, const T2& /* other_operand */) {
351 const T1& value, const T2& /* other_operand */) {
352 return FormatForComparison<T1, T2>::Format(value);
352 return FormatForComparison<T1, T2>::Format(value);
366 void UniversalPrint(const T& value, ::std::ostream* os);
373 const C& container, ::std::ostream* os) {
439 const T& value, ::std::ostream* os) {
455 void PrintTo(const T& value, ::std::ostream* os) {
478 DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
699 static void Print(const T& value, ::std::ostream* os) {
784 static void Print(const T& value, ::std::ostream* os) {
856 typedef T T1;
983 internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h 1377 const T1& lhs, const T2& rhs) {
1377 const T1& lhs, const T2& rhs) {
1389 const T1& lhs,
1390 const T2& rhs) {
1419 const T1& lhs,
1420 const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 29 static const T& printable(const T& V) { return V; }
29 static const T& printable(const T& V) { return V; }
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
37 return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h 94 ::std::string PrintToString(const T& value);