reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/Analysis/MemorySSA.h
  363 struct OperandTraits<MemoryUse> : public FixedNumOperandTraits<MemoryUse, 1> {};
  430     if (auto *MU = dyn_cast<MemoryUse>(MUD))
  430     if (auto *MU = dyn_cast<MemoryUse>(MUD))
  431       return OperandTraits<MemoryUse>::op_begin(MU);
  436     if (auto *MU = dyn_cast<MemoryUse>(MUD))
  436     if (auto *MU = dyn_cast<MemoryUse>(MUD))
  437       return OperandTraits<MemoryUse>::op_end(MU);
  442     if (const auto *MU = dyn_cast<MemoryUse>(MUD))
  442     if (const auto *MU = dyn_cast<MemoryUse>(MUD))
  443       return OperandTraits<MemoryUse>::operands(MU);
  675   return cast<MemoryUse>(this)->isOptimized();
  681   return cast<MemoryUse>(this)->getOptimized();
  688     cast<MemoryUse>(this)->setOptimized(MA);
  695     cast<MemoryUse>(this)->resetOptimized();
include/llvm/Analysis/MemorySSAUpdater.h
  102   void insertUse(MemoryUse *Use, bool RenameUses = false);
include/llvm/IR/OperandTraits.h
   31   static Use *op_begin(SubClass* U) {
   33         !std::is_polymorphic<SubClass>::value,
   37   static Use *op_end(SubClass* U) {
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   77     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;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 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*,
  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) {
  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
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/Analysis/MemorySSA.cpp
  459       if (const auto *MU = dyn_cast<MemoryUse>(MA)) {
  459       if (const auto *MU = dyn_cast<MemoryUse>(MA)) {
  942     if (auto *MU = dyn_cast<MemoryUse>(Start))
  942     if (auto *MU = dyn_cast<MemoryUse>(Start))
 1349     auto *MU = dyn_cast<MemoryUse>(&MA);
 1349     auto *MU = dyn_cast<MemoryUse>(&MA);
 1608       if (!isa<MemoryUse>(NewAccess)) {
 1617     if (!isa<MemoryUse>(NewAccess)) {
 1630   if (!isa<MemoryUse>(What)) {
 1752     Use = dyn_cast_or_null<MemoryUse>(Template) != nullptr;
 1784     MUD = new MemoryUse(I->getContext(), nullptr, I, I->getParent());
 1814   if (!isa<MemoryUse>(MA))
 1838   if (!isa<MemoryUse>(MA)) {
 2360   MemoryAccess *DefiningAccess = isa<MemoryUse>(StartingUseOrDef)
lib/Analysis/MemorySSAUpdater.cpp
  158     if (!isa<MemoryUse>(MA)) {
  167         if (!isa<MemoryUse>(U))
  243 void MemorySSAUpdater::insertUse(MemoryUse *MU, bool RenameUses) {
  333       return !isa<MemoryUse>(Usr) && Usr != MD;
  560         else if (!InsnDefining || isa<MemoryUse>(InsnDefining)) {
 1143     insertUse(cast<MemoryUse>(What), /*RenameUses=*/true);
 1295   if (!isa<MemoryUse>(MA) && !MA->use_empty()) {
lib/CodeGen/InterleavedLoadCombinePass.cpp
 1225   MemoryUse *MSSALoad = cast<MemoryUse>(MSSAU.createMemoryAccessBefore(
 1225   MemoryUse *MSSALoad = cast<MemoryUse>(MSSAU.createMemoryAccessBefore(
lib/Transforms/Scalar/GVNHoist.cpp
  396       if (const MemoryUse *MU = dyn_cast<MemoryUse>(&MA)) {
  396       if (const MemoryUse *MU = dyn_cast<MemoryUse>(&MA)) {
lib/Transforms/Scalar/LICM.cpp
  153 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU,
 1119           MSSA, cast<MemoryUse>(MSSA->getMemoryAccess(LI)), CurLoop, *Flags);
 1164                   MSSA, cast<MemoryUse>(MSSA->getMemoryAccess(CI)), CurLoop,
 1240             if (const auto *MU = dyn_cast<MemoryUse>(&MA)) {
 1240             if (const auto *MU = dyn_cast<MemoryUse>(&MA)) {
 1404         auto *MemUse = cast<MemoryUse>(NewMemAcc);
 1404         auto *MemUse = cast<MemoryUse>(NewMemAcc);
 2131     MemoryUse *NewMemUse = cast<MemoryUse>(PreheaderLoadMemoryAccess);
 2131     MemoryUse *NewMemUse = cast<MemoryUse>(PreheaderLoadMemoryAccess);
 2284 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU,
lib/Transforms/Scalar/NewGVN.cpp
 2090   if (isa<MemoryUse>(MA))
 2540     if (MA && !isa<MemoryUse>(MA)) {
unittests/Analysis/MemorySSATest.cpp
  102   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  102   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  148   MemoryUse *FirstLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  148   MemoryUse *FirstLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  172   MemoryUse *SecondLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  172   MemoryUse *SecondLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  238   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  238   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  286   Updater.insertUse(cast<MemoryUse>(NewLoadAccess));
  361   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  361   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  404   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  404   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  448   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  448   auto *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(MergeLoad));
  500   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst));
  500   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst));
  547   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst));
  547   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LoadInst));
  738   auto *ALoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(ALoad));
  738   auto *ALoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(ALoad));
  780   auto *LoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(Load));
  780   auto *LoadMA = cast<MemoryUse>(MSSA.getMemoryAccess(Load));
  811   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LIA));
  811   MemoryUse *LoadAccess = cast<MemoryUse>(MSSA.getMemoryAccess(LIA));
  817   MemoryUse *NewLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  817   MemoryUse *NewLoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  906   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
  906   MemoryUse *LoadAccess = cast<MemoryUse>(Updater.createMemoryAccessInBB(
 1028     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1028     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1036     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1036     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1119     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1119     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1127     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));
 1127     MemoryUse *MemUse = dyn_cast_or_null<MemoryUse>(MSSA.getMemoryAccess(V));