|
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,
299 ValueT &operator[](const KeyT &Key) {
311 ValueT &operator[](KeyT &&Key) {
380 ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
392 const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
520 ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
526 ValueT &&Value, LookupKeyT &Lookup) {
684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
685 KeyT, ValueT, KeyInfoT, BucketT> {
690 using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
1163 using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
1199 const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
include/llvm/Analysis/MemoryDependenceAnalysis.h 131 static MemDepResult getDef(Instruction *Inst) {
135 static MemDepResult getClobber(Instruction *Inst) {
139 static MemDepResult getNonLocal() {
142 static MemDepResult getNonFuncLocal() {
145 static MemDepResult getUnknown() {
191 bool operator==(const MemDepResult &M) const { return Value == M.Value; }
192 bool operator!=(const MemDepResult &M) const { return Value != M.Value; }
193 bool operator<(const MemDepResult &M) const { return Value < M.Value; }
194 bool operator>(const MemDepResult &M) const { return Value > M.Value; }
202 static MemDepResult getDirty(Instruction *Inst) {
212 MemDepResult Result;
215 NonLocalDepEntry(BasicBlock *bb, MemDepResult result)
224 void setResult(const MemDepResult &R) { Result = R; }
226 const MemDepResult &getResult() const { return Result; }
240 NonLocalDepResult(BasicBlock *bb, MemDepResult result, Value *address)
246 void setResult(const MemDepResult &R, Value *Addr) {
251 const MemDepResult &getResult() const { return Entry.getResult(); }
278 using LocalDepMapType = DenseMap<Instruction *, MemDepResult>;
387 MemDepResult getDependency(Instruction *QueryInst,
450 MemDepResult getPointerDependencyFrom(const MemoryLocation &Loc, bool isLoad,
457 MemDepResult
469 MemDepResult getInvariantGroupPointerDependency(LoadInst *LI, BasicBlock *BB);
487 MemDepResult getCallDependencyFrom(CallBase *Call, bool isReadOnlyCall,
497 MemDepResult GetNonLocalInfoForBlock(Instruction *QueryInst,
include/llvm/Transforms/Scalar/GVN.h 258 bool AnalyzeLoadAvailability(LoadInst *LI, MemDepResult DepInfo,
lib/Analysis/MemDepPrinter.cpp 103 MemDepResult Res = MDA.getDependency(Inst);
113 const MemDepResult &Res = I.getResult();
124 const MemDepResult &Res = I.getResult();
lib/Analysis/MemoryDependenceAnalysis.cpp 183 MemDepResult MemoryDependenceResults::getCallDependencyFrom(
199 return MemDepResult::getUnknown();
207 return MemDepResult::getClobber(Inst);
218 return MemDepResult::getDef(Inst);
224 return MemDepResult::getClobber(Inst);
230 return MemDepResult::getClobber(Inst);
236 return MemDepResult::getNonLocal();
237 return MemDepResult::getNonFuncLocal();
327 MemDepResult MemoryDependenceResults::getPointerDependencyFrom(
331 MemDepResult InvariantGroupDependency = MemDepResult::getUnknown();
331 MemDepResult InvariantGroupDependency = MemDepResult::getUnknown();
340 MemDepResult SimpleDep = getSimplePointerDependencyFrom(
355 MemDepResult
360 return MemDepResult::getUnknown();
371 return MemDepResult::getUnknown();
426 return MemDepResult::getUnknown();
428 return MemDepResult::getDef(ClosestDependency);
435 MemDepResult::getDef(ClosestDependency), nullptr));
437 return MemDepResult::getNonLocal();
440 MemDepResult MemoryDependenceResults::getSimplePointerDependencyFrom(
528 return MemDepResult::getUnknown();
539 return MemDepResult::getDef(II);
556 return MemDepResult::getClobber(LI);
559 return MemDepResult::getClobber(LI);
570 return MemDepResult::getClobber(LI);
572 return MemDepResult::getClobber(LI);
586 return MemDepResult::getDef(Inst);
613 return MemDepResult::getDef(Inst);
623 return MemDepResult::getClobber(SI);
625 return MemDepResult::getClobber(SI);
635 return MemDepResult::getClobber(SI);
654 return MemDepResult::getDef(Inst);
657 return MemDepResult::getClobber(Inst);
669 return MemDepResult::getDef(Inst);
694 return MemDepResult::getClobber(Inst);
703 return MemDepResult::getClobber(Inst);
710 return MemDepResult::getNonLocal();
711 return MemDepResult::getNonFuncLocal();
714 MemDepResult MemoryDependenceResults::getDependency(Instruction *QueryInst,
719 MemDepResult &LocalCache = LocalDeps[QueryInst];
741 LocalCache = MemDepResult::getNonLocal();
743 LocalCache = MemDepResult::getNonFuncLocal();
762 LocalCache = MemDepResult::getUnknown();
876 MemDepResult Dep;
883 Dep = MemDepResult::getNonLocal();
885 Dep = MemDepResult::getNonFuncLocal();
952 Result.push_back(NonLocalDepResult(FromBB, MemDepResult::getUnknown(),
968 Result.push_back(NonLocalDepResult(FromBB, MemDepResult::getUnknown(),
977 MemDepResult MemoryDependenceResults::GetNonLocalInfoForBlock(
1017 MemDepResult Dep =
1263 MemDepResult Dep = GetNonLocalInfoForBlock(QueryInst, Loc, isLoad, BB,
1403 NonLocalDepResult Entry(Pred, MemDepResult::getUnknown(), PredPtrVal);
1465 I.setResult(MemDepResult::getUnknown());
1584 MemDepResult NewDirtyVal;
1586 NewDirtyVal = MemDepResult::getDirty(&*++RemInst->getIterator());
lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp 109 auto Q = MDR->getPointerDependencyFrom(MemoryLocation(Ptr), true,
lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp 305 MemDepResult Q = MDA->getPointerDependencyFrom(MemoryLocation(OutArg),
lib/Transforms/Scalar/DeadStoreElimination.cpp 672 MemDepResult Dep =
1114 MemDepResult InstDep = MD->getDependency(Inst, &OBB);
lib/Transforms/Scalar/GVN.cpp 389 MemDepResult local_dep = MD->getDependency(C);
827 static void reportMayClobberedLoad(LoadInst *LI, MemDepResult DepInfo,
858 bool GVN::AnalyzeLoadAvailability(LoadInst *LI, MemDepResult DepInfo,
989 MemDepResult DepInfo = Deps[i].getResult();
1530 MemDepResult Dep = MD->getDependency(L);
1623 MemDepResult local_dep = MD->getDependency(Call);
lib/Transforms/Scalar/MemCpyOptimizer.cpp 620 MemDepResult ldep = MD->getDependency(LI);
963 MemDepResult SourceDep =
1021 MemDepResult DstDepInfo =
1119 MemDepResult DepInfo = MD->getPointerDependencyFrom(
1163 MemDepResult DepInfo = MD->getDependency(M);
1199 MemDepResult SrcDepInfo = MD->getPointerDependencyFrom(
1264 MemDepResult DepInfo = MD->getPointerDependencyFrom(
1311 MemDepResult SourceDep = MD->getPointerDependencyFrom(
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
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
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
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
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>