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

References

include/llvm/Analysis/MemorySSA.h
  424 struct OperandTraits<MemoryDef> : public FixedNumOperandTraits<MemoryDef, 2> {};
  432     return OperandTraits<MemoryDef>::op_begin(cast<MemoryDef>(MUD));
  432     return OperandTraits<MemoryDef>::op_begin(cast<MemoryDef>(MUD));
  438     return OperandTraits<MemoryDef>::op_end(cast<MemoryDef>(MUD));
  438     return OperandTraits<MemoryDef>::op_end(cast<MemoryDef>(MUD));
  444     return OperandTraits<MemoryDef>::operands(cast<MemoryDef>(MUD));
  444     return OperandTraits<MemoryDef>::operands(cast<MemoryDef>(MUD));
  667   if (const auto *MD = dyn_cast<MemoryDef>(this))
  667   if (const auto *MD = dyn_cast<MemoryDef>(this))
  673   if (const auto *MD = dyn_cast<MemoryDef>(this))
  673   if (const auto *MD = dyn_cast<MemoryDef>(this))
  679   if (const auto *MD = dyn_cast<MemoryDef>(this))
  679   if (const auto *MD = dyn_cast<MemoryDef>(this))
  685   if (auto *MD = dyn_cast<MemoryDef>(this))
  685   if (auto *MD = dyn_cast<MemoryDef>(this))
  692   if (auto *MD = dyn_cast<MemoryDef>(this))
  692   if (auto *MD = dyn_cast<MemoryDef>(this))
  908   static bool defClobbersUseOrDef(MemoryDef *MD, const MemoryUseOrDef *MU,
include/llvm/Analysis/MemorySSAUpdater.h
  101   void insertDef(MemoryDef *Def, 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);
   92     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
  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) {
  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
  262 instructionClobbersQuery(const MemoryDef *MD, const MemoryLocation &UseLoc,
  314 static ClobberAlias instructionClobbersQuery(MemoryDef *MD,
  328 bool MemorySSAUtil::defClobbersUseOrDef(MemoryDef *MD, const MemoryUseOrDef *MU,
  359 static bool lifetimeEndsAt(MemoryDef *MD, const MemoryLocation &Loc,
  426         if (const auto *MD = dyn_cast<MemoryDef>(MA)) {
  426         if (const auto *MD = dyn_cast<MemoryDef>(MA)) {
  448       if (const auto *MD = dyn_cast<MemoryDef>(MA)) {
  448       if (const auto *MD = dyn_cast<MemoryDef>(MA)) {
  573       if (auto *MD = dyn_cast<MemoryDef>(Current)) {
  573       if (auto *MD = dyn_cast<MemoryDef>(Current)) {
 1123         if (isa<MemoryDef>(&L))
 1438       MemoryDef *MD = cast<MemoryDef>(VersionStack[UpperBound]);
 1438       MemoryDef *MD = cast<MemoryDef>(VersionStack[UpperBound]);
 1512   LiveOnEntryDef.reset(new MemoryDef(F.getContext(), nullptr, nullptr,
 1533       if (isa<MemoryDef>(MUD)) {
 1638     } else if (isa<MemoryDef>(InsertPt)) {
 1641       while (InsertPt != Accesses->end() && !isa<MemoryDef>(InsertPt))
 1660   if (auto *MD = dyn_cast<MemoryDef>(What))
 1660   if (auto *MD = dyn_cast<MemoryDef>(What))
 1751     Def = dyn_cast_or_null<MemoryDef>(Template) != nullptr;
 1782     MUD = new MemoryDef(I->getContext(), nullptr, I, I->getParent(), NextID++);
 1986         if (isa<MemoryDef>(MA))
 2036       MemoryAccess *MD = dyn_cast_or_null<MemoryDef>(getMemoryAccess(&I));
 2388     if (!SkipSelf || !isa<MemoryDef>(StartingAccess))
 2438       isa<MemoryDef>(StartingAccess) && UpwardWalkLimit) {
lib/Analysis/MemorySSAUpdater.cpp
  275       if (auto *MD = dyn_cast<MemoryDef>(FirstDef))
  275       if (auto *MD = dyn_cast<MemoryDef>(FirstDef))
  312 void MemorySSAUpdater::insertDef(MemoryDef *MD, bool RenameUses) {
  438     if (auto *MD = dyn_cast<MemoryDef>(FirstDef))
  438     if (auto *MD = dyn_cast<MemoryDef>(FirstDef))
  469       cast<MemoryDef>(DefIter)->setDefiningAccess(NewDef);
  501         cast<MemoryDef>(FirstDef)->setDefiningAccess(getPreviousDef(FirstDef));
  551   if (MemoryDef *DefMUD = dyn_cast<MemoryDef>(InsnDefining)) {
  551   if (MemoryDef *DefMUD = dyn_cast<MemoryDef>(InsnDefining)) {
 1140   if (auto *MD = dyn_cast<MemoryDef>(What))
 1140   if (auto *MD = dyn_cast<MemoryDef>(What))
lib/Transforms/Scalar/GVNHoist.cpp
  384   bool hasMemoryUse(const Instruction *NewPt, MemoryDef *Def,
  444   bool hasEHOrLoadsOnPath(const Instruction *NewPt, MemoryDef *Def,
  542       if (hasEHOrLoadsOnPath(NewPt, cast<MemoryDef>(U), NBBsOnAllPaths))
lib/Transforms/Scalar/LICM.cpp
 1251             } else if (const auto *MD = dyn_cast<MemoryDef>(&MA)) {
 1251             } else if (const auto *MD = dyn_cast<MemoryDef>(&MA)) {
 1401       if (auto *MemDef = dyn_cast<MemoryDef>(NewMemAcc))
 1401       if (auto *MemDef = dyn_cast<MemoryDef>(NewMemAcc))
 1819         MSSAU->insertDef(cast<MemoryDef>(NewMemAcc), true);
 2323         if (const auto *MD = dyn_cast<MemoryDef>(&MA))
 2323         if (const auto *MD = dyn_cast<MemoryDef>(&MA))
lib/Transforms/Scalar/NewGVN.cpp
 1507     if (auto *MD = dyn_cast<MemoryDef>(DefiningAccess)) {
 1507     if (auto *MD = dyn_cast<MemoryDef>(DefiningAccess)) {
 2283   auto *InstMA = dyn_cast_or_null<MemoryDef>(getMemoryAccess(I));
 2283   auto *InstMA = dyn_cast_or_null<MemoryDef>(getMemoryAccess(I));
 2882         auto *MD = dyn_cast<MemoryDef>(&Def);
 3199         if (auto *MemDef = dyn_cast<MemoryDef>(Pair.first))
 3236                isa<MemoryDef>(U);
 3245                        const MemoryDef *MD = cast<MemoryDef>(U);
 3245                        const MemoryDef *MD = cast<MemoryDef>(U);
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
 2428     MemoryDef *MD = cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(GI));
 2428     MemoryDef *MD = cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(GI));
unittests/Analysis/MemorySSATest.cpp
  137   Updater.insertDef(cast<MemoryDef>(EntryStoreAccess));
  161   Updater.insertDef(cast<MemoryDef>(LeftStoreAccess), false);
  187   Updater.insertDef(cast<MemoryDef>(SecondEntryStoreAccess), false);
  189   Updater.insertDef(cast<MemoryDef>(SecondEntryStoreAccess), true);
  227   Updater.insertDef(cast<MemoryDef>(StoreAccess));
  367   Updater.insertDef(cast<MemoryDef>(NewStoreAccess));
  501   MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst));
  501   MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst));
  548   MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst));
  548   MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst));
  781   auto *StoreMA = cast<MemoryDef>(MSSA.getMemoryAccess(Store));
  781   auto *StoreMA = cast<MemoryDef>(MSSA.getMemoryAccess(Store));
  849   Updater.moveBefore(cast<MemoryDef>(MSSA.getMemoryAccess(StoreC)),
  850                      cast<MemoryDef>(MSSA.getMemoryAccess(StoreB)));
  938   auto *DefA = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
  938   auto *DefA = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
  939   auto *DefB = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
  939   auto *DefB = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
  985   auto *DefX1 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX1));
  985   auto *DefX1 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX1));
  986   auto *DefY = cast<MemoryDef>(MSSA.getMemoryAccess(StoreY));
  986   auto *DefY = cast<MemoryDef>(MSSA.getMemoryAccess(StoreY));
  987   auto *DefX2 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX2));
  987   auto *DefX2 = cast<MemoryDef>(MSSA.getMemoryAccess(StoreX2));
 1066     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1066     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1170     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1170     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1184     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1184     MemoryDef *MemDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(V));
 1307   auto *AccessEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreEntry));
 1307   auto *AccessEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreEntry));
 1308   auto *StoreAEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
 1308   auto *StoreAEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
 1309   auto *StoreBEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
 1309   auto *StoreBEntry = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
 1355   auto *StoreAAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
 1355   auto *StoreAAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA));
 1356   auto *StoreA2Access = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA2));
 1356   auto *StoreA2Access = cast<MemoryDef>(MSSA.getMemoryAccess(StoreA2));
 1360   auto *StoreBAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
 1360   auto *StoreBAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreB));
 1371     std::vector<const MemoryDef *> Result;
 1373               [](const User *U) { return cast<MemoryDef>(U); });
 1498   MemoryDef *DefS1 = cast<MemoryDef>(MSSA.getMemoryAccess(S1));
 1498   MemoryDef *DefS1 = cast<MemoryDef>(MSSA.getMemoryAccess(S1));
utils/unittest/googletest/include/gtest/gtest-message.h
  150   inline Message& operator <<(T* const& pointer) {  // NOLINT
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {