|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/Analysis/MemorySSA.h 319 class MemoryUse final : public MemoryUseOrDef {
375 class MemoryDef final : public MemoryUseOrDef {
References
include/llvm/Analysis/MemorySSA.h 319 class MemoryUse final : public MemoryUseOrDef {
375 class MemoryDef final : public MemoryUseOrDef {
429 static Use *op_begin(MemoryUseOrDef *MUD) {
435 static Use *op_end(MemoryUseOrDef *MUD) {
441 static unsigned operands(const MemoryUseOrDef *MUD) {
720 MemoryUseOrDef *getMemoryAccess(const Instruction *I) const {
721 return cast_or_null<MemoryUseOrDef>(ValueToMemoryAccess.lookup(I));
818 void moveTo(MemoryUseOrDef *What, BasicBlock *BB, AccessList::iterator Where);
833 MemoryUseOrDef *createDefinedAccess(Instruction *, MemoryAccess *,
834 const MemoryUseOrDef *Template = nullptr,
859 MemoryUseOrDef *createNewAccess(Instruction *, AliasAnalysisType *,
860 const MemoryUseOrDef *Template = nullptr);
908 static bool defClobbersUseOrDef(MemoryDef *MD, const MemoryUseOrDef *MU,
1113 return cast<MemoryUseOrDef>(Access)->getDefiningAccess();
1279 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA)) {
1279 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA)) {
include/llvm/Analysis/MemorySSAUpdater.h 141 void moveBefore(MemoryUseOrDef *What, MemoryUseOrDef *Where);
141 void moveBefore(MemoryUseOrDef *What, MemoryUseOrDef *Where);
142 void moveAfter(MemoryUseOrDef *What, MemoryUseOrDef *Where);
142 void moveAfter(MemoryUseOrDef *What, MemoryUseOrDef *Where);
143 void moveToPlace(MemoryUseOrDef *What, BasicBlock *BB,
217 MemoryUseOrDef *createMemoryAccessBefore(Instruction *I,
219 MemoryUseOrDef *InsertPt);
220 MemoryUseOrDef *createMemoryAccessAfter(Instruction *I,
265 void moveTo(MemoryUseOrDef *What, BasicBlock *BB, WhereType Where);
include/llvm/Support/Casting.h 57 static inline bool doit(const From &Val) {
58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
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);
142 return isa_impl_wrap<X, const Y,
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
248 typename cast_retty<X, const Y>::ret_type>::type
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);
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
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
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;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
lib/Analysis/AliasSetTracker.cpp 549 if (auto *MUD = dyn_cast<MemoryUseOrDef>(&Access))
lib/Analysis/LoopInfo.cpp 107 if (auto *MUD = MSSAU->getMemorySSA()->getMemoryAccess(I))
lib/Analysis/MemorySSA.cpp 132 MemoryLocOrCall(MemoryUseOrDef *MUD)
134 MemoryLocOrCall(const MemoryUseOrDef *MUD)
315 const MemoryUseOrDef *MU,
328 bool MemorySSAUtil::defClobbersUseOrDef(MemoryDef *MD, const MemoryUseOrDef *MU,
1043 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1043 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1079 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1079 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1120 if (MemoryUseOrDef *MUD = dyn_cast<MemoryUseOrDef>(&L)) {
1120 if (MemoryUseOrDef *MUD = dyn_cast<MemoryUseOrDef>(&L)) {
1216 if (auto *UseOrDef = dyn_cast<MemoryUseOrDef>(AI))
1216 if (auto *UseOrDef = dyn_cast<MemoryUseOrDef>(AI))
1526 MemoryUseOrDef *MUD = createNewAccess(&I, &BAA);
1669 void MemorySSA::moveTo(MemoryUseOrDef *What, BasicBlock *BB,
1700 MemoryUseOrDef *MemorySSA::createDefinedAccess(Instruction *I,
1702 const MemoryUseOrDef *Template,
1705 MemoryUseOrDef *NewAccess = createNewAccess(I, AA, Template);
1730 MemoryUseOrDef *MemorySSA::createNewAccess(Instruction *I,
1732 const MemoryUseOrDef *Template) {
1780 MemoryUseOrDef *MUD;
1792 if (isa<MemoryUseOrDef>(Replacee))
1811 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1811 if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1818 if (const auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
1818 if (const auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
2340 auto *StartingUseOrDef = cast<MemoryUseOrDef>(StartingAccess);
2340 auto *StartingUseOrDef = cast<MemoryUseOrDef>(StartingAccess);
2377 auto *StartingAccess = dyn_cast<MemoryUseOrDef>(MA);
2377 auto *StartingAccess = dyn_cast<MemoryUseOrDef>(MA);
2453 if (auto *Use = dyn_cast<MemoryUseOrDef>(MA))
2453 if (auto *Use = dyn_cast<MemoryUseOrDef>(MA))
2460 if (auto *Use = dyn_cast<MemoryUseOrDef>(StartingAccess))
2460 if (auto *Use = dyn_cast<MemoryUseOrDef>(StartingAccess))
lib/Analysis/MemorySSAUpdater.cpp 590 if (const MemoryUseOrDef *MUD = dyn_cast<MemoryUseOrDef>(&MA)) {
590 if (const MemoryUseOrDef *MUD = dyn_cast<MemoryUseOrDef>(&MA)) {
681 if (MemoryUseOrDef *IncMUD = dyn_cast<MemoryUseOrDef>(IncomingAccess)) {
681 if (MemoryUseOrDef *IncMUD = dyn_cast<MemoryUseOrDef>(IncomingAccess)) {
1114 cast<MemoryUseOrDef>(Usr)->resetOptimized();
1126 void MemorySSAUpdater::moveTo(MemoryUseOrDef *What, BasicBlock *BB,
1151 void MemorySSAUpdater::moveBefore(MemoryUseOrDef *What, MemoryUseOrDef *Where) {
1151 void MemorySSAUpdater::moveBefore(MemoryUseOrDef *What, MemoryUseOrDef *Where) {
1156 void MemorySSAUpdater::moveAfter(MemoryUseOrDef *What, MemoryUseOrDef *Where) {
1156 void MemorySSAUpdater::moveAfter(MemoryUseOrDef *What, MemoryUseOrDef *Where) {
1160 void MemorySSAUpdater::moveToPlace(MemoryUseOrDef *What, BasicBlock *BB,
1179 auto *MUD = cast<MemoryUseOrDef>(FirstInNew);
1179 auto *MUD = cast<MemoryUseOrDef>(FirstInNew);
1182 MemoryUseOrDef *NextMUD = (!Accs || NextIt == Accs->end())
1184 : cast<MemoryUseOrDef>(&*NextIt);
1289 NewDefTarget = cast<MemoryUseOrDef>(MA)->getDefiningAccess();
1311 if (auto *MUD = dyn_cast<MemoryUseOrDef>(U.getUser()))
1311 if (auto *MUD = dyn_cast<MemoryUseOrDef>(U.getUser()))
1417 MemoryUseOrDef *NewAccess = MSSA->createDefinedAccess(I, Definition);
1422 MemoryUseOrDef *MemorySSAUpdater::createMemoryAccessBefore(
1423 Instruction *I, MemoryAccess *Definition, MemoryUseOrDef *InsertPt) {
1426 MemoryUseOrDef *NewAccess = MSSA->createDefinedAccess(I, Definition);
1432 MemoryUseOrDef *MemorySSAUpdater::createMemoryAccessAfter(
1436 MemoryUseOrDef *NewAccess = MSSA->createDefinedAccess(I, Definition);
lib/Transforms/Scalar/EarlyCSE.cpp 769 auto *EarlierMA = MSSA->getMemoryAccess(EarlierInst);
772 auto *LaterMA = MSSA->getMemoryAccess(LaterInst);
lib/Transforms/Scalar/GVNHoist.cpp 518 MemoryUseOrDef *U, InsKind K, int &NBBsOnAllPaths) {
535 if (auto *UD = dyn_cast<MemoryUseOrDef>(D))
535 if (auto *UD = dyn_cast<MemoryUseOrDef>(D))
607 MemoryUseOrDef *UD = MSSA->getMemoryAccess(Insn);
937 void raMPHIuw(MemoryUseOrDef *NewMemAcc) {
955 MemoryUseOrDef *NewMemAcc = MSSA->getMemoryAccess(Repl);
lib/Transforms/Scalar/LICM.cpp 1071 const auto *MUD = cast<MemoryUseOrDef>(&Acc);
1071 const auto *MUD = cast<MemoryUseOrDef>(&Acc);
1236 auto *SIMD = MSSA->getMemoryAccess(SI);
1449 if (MemoryUseOrDef *OldMemAcc = cast_or_null<MemoryUseOrDef>(
1449 if (MemoryUseOrDef *OldMemAcc = cast_or_null<MemoryUseOrDef>(
lib/Transforms/Scalar/NewGVN.cpp 555 DenseMap<const Instruction *, MemoryUseOrDef *> TempToMemory;
833 MemoryUseOrDef *getMemoryAccess(const Instruction *) const;
855 return isa<MemoryUseOrDef>(MA)
856 ? InstrToDFSNum(cast<MemoryUseOrDef>(MA)->getMemoryInst())
905 MemoryUseOrDef *NewGVN::getMemoryAccess(const Instruction *I) const {
906 auto *Result = MSSA->getMemoryAccess(I);
1367 auto *StoreAccess = getMemoryAccess(SI);
1642 if (auto *MA = MSSA->getMemoryAccess(CI)) {
2539 auto *MA = getMemoryAccess(TI);
2705 auto *MemAccess = getMemoryAccess(I);
3219 if (auto *FirstMUD = dyn_cast<MemoryUseOrDef>(KV.first)) {
3220 auto *SecondMUD = dyn_cast<MemoryUseOrDef>(KV.second->getMemoryLeader());
unittests/Analysis/MemorySSATest.cpp 356 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore);
357 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore);
358 auto *NewStoreAccess = Updater.createMemoryAccessAfter(
401 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore);
402 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore);
445 auto *EntryStoreAccess = MSSA.getMemoryAccess(EntryStore);
446 auto *SideStoreAccess = MSSA.getMemoryAccess(SideStore);
usr/include/c++/7.4.0/type_traits 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)) {