Home | History | Annotate | Download | only in Analysis

Lines Matching refs:MemorySSA

1 //===- MemorySSA.h - Build Memory SSA ---------------------------*- C++ -*-===//
198 friend class MemorySSA;
204 /// \brief Used by MemorySSA to change the block of a MemoryAccess when it is
261 friend class MemorySSA;
324 friend class MemorySSA;
380 friend class MemorySSA;
540 friend class MemorySSA;
571 /// \brief Encapsulates MemorySSA, including all data associated with memory
573 class MemorySSA {
575 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
576 ~MemorySSA();
580 /// \brief Given a memory Mod/Ref'ing instruction, get the MemorySSA
594 /// they may be live on entry to the function. MemorySSA represents such
641 /// \brief Verify that MemorySSA is self consistent (IE definitions dominate
671 // These is used by the updater to perform various internal MemorySSA
726 // MemorySSA. The list contained in PerBlockAccesses really owns all the
746 // Internal MemorySSA utils, for use by MemorySSA classes and walkers
756 // This pass does eager building and then printing of MemorySSA. It is used by
768 /// An analysis that produces \c MemorySSA for a function.
776 // Wrap MemorySSA result to ensure address stability of internal MemorySSA
778 // unique_ptr<MemorySSA> to avoid build breakage on MSVC.
780 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
781 MemorySSA &getMSSA() { return *MSSA.get(); }
783 std::unique_ptr<MemorySSA> MSSA;
789 /// \brief Printer pass for \c MemorySSA.
799 /// \brief Verifier pass for \c MemorySSA.
804 /// \brief Legacy analysis pass which computes \c MemorySSA.
813 MemorySSA &getMSSA() { return *MSSA; }
814 const MemorySSA &getMSSA() const { return *MSSA; }
822 std::unique_ptr<MemorySSA> MSSA;
825 /// \brief This is the generic walker interface for walkers of MemorySSA.
827 /// MemorySSA gives you, or otherwise produce better info than MemorySSA gives
838 MemorySSAWalker(MemorySSA *);
867 assert(MA && "Handed an instruction that MemorySSA doesn't recognize?");
892 /// invalidation. This will be called by MemorySSA at appropriate times for
896 virtual void verify(const MemorySSA *MSSA) { assert(MSSA == this->MSSA); }
899 friend class MemorySSA; // For updating MSSA pointer in MemorySSA move
901 MemorySSA *MSSA;
1016 /// want when walking upwards through MemorySSA def chains. It takes a pair of