Home | History | Annotate | Download | only in Analysis

Lines Matching refs:MemorySSA

1 //===- MemorySSA.h - Build Memory SSA ---------------------------*- C++ -*-===//
197 friend class MemorySSA;
203 /// \brief Used by MemorySSA to change the block of a MemoryAccess when it is
260 friend class MemorySSA;
323 friend class MemorySSA;
375 friend class MemorySSA;
538 friend class MemorySSA;
604 /// \brief Encapsulates MemorySSA, including all data associated with memory
606 class MemorySSA {
608 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
609 ~MemorySSA();
613 /// \brief Given a memory Mod/Ref'ing instruction, get the MemorySSA
627 /// they may be live on entry to the function. MemorySSA represents such
674 /// \brief Verify that MemorySSA is self consistent (IE definitions dominate
704 // These is used by the updater to perform various internal MemorySSA
759 // MemorySSA. The list contained in PerBlockAccesses really owns all the
779 // Internal MemorySSA utils, for use by MemorySSA classes and walkers
789 // This pass does eager building and then printing of MemorySSA. It is used by
801 /// An analysis that produces \c MemorySSA for a function.
809 // Wrap MemorySSA result to ensure address stability of internal MemorySSA
811 // unique_ptr<MemorySSA> to avoid build breakage on MSVC.
813 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
814 MemorySSA &getMSSA() { return *MSSA.get(); }
816 std::unique_ptr<MemorySSA> MSSA;
822 /// \brief Printer pass for \c MemorySSA.
832 /// \brief Verifier pass for \c MemorySSA.
837 /// \brief Legacy analysis pass which computes \c MemorySSA.
846 MemorySSA &getMSSA() { return *MSSA; }
847 const MemorySSA &getMSSA() const { return *MSSA; }
855 std::unique_ptr<MemorySSA> MSSA;
858 /// \brief This is the generic walker interface for walkers of MemorySSA.
860 /// MemorySSA gives you, or otherwise produce better info than MemorySSA gives
871 MemorySSAWalker(MemorySSA *);
900 assert(MA && "Handed an instruction that MemorySSA doesn't recognize?");
925 /// invalidation. This will be called by MemorySSA at appropriate times for
929 virtual void verify(const MemorySSA *MSSA) { assert(MSSA == this->MSSA); }
932 friend class MemorySSA; // For updating MSSA pointer in MemorySSA move
934 MemorySSA *MSSA;
1049 /// want when walking upwards through MemorySSA def chains. It takes a pair of