Home | History | Annotate | Download | only in Analysis

Lines Matching refs:MemorySSA

1 //===- MemorySSA.h - Build Memory SSA ---------------------------*- C++ -*-===//
203 friend class MemorySSA;
207 /// \brief Used by MemorySSA to change the block of a MemoryAccess when it is
264 friend class MemorySSA;
329 friend class MemorySSA;
352 friend class MemorySSA;
547 friend class MemorySSA;
610 /// \brief Encapsulates MemorySSA, including all data associated with memory
612 class MemorySSA {
614 MemorySSA(Function &, AliasAnalysis *, DominatorTree *);
615 ~MemorySSA();
619 /// \brief Given a memory Mod/Ref'ing instruction, get the MemorySSA
633 /// they may be live on entry to the function. MemorySSA represents such
680 /// \brief Verify that MemorySSA is self consistent (IE definitions dominate
710 // These is used by the updater to perform various internal MemorySSA
769 // MemorySSA. The list contained in PerBlockAccesses really owns all the
789 // Internal MemorySSA utils, for use by MemorySSA classes and walkers
800 // This pass does eager building and then printing of MemorySSA. It is used by
812 /// An analysis that produces \c MemorySSA for a function.
820 // Wrap MemorySSA result to ensure address stability of internal MemorySSA
822 // unique_ptr<MemorySSA> to avoid build breakage on MSVC.
824 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}
826 MemorySSA &getMSSA() { return *MSSA.get(); }
828 std::unique_ptr<MemorySSA> MSSA;
834 /// \brief Printer pass for \c MemorySSA.
844 /// \brief Verifier pass for \c MemorySSA.
849 /// \brief Legacy analysis pass which computes \c MemorySSA.
858 MemorySSA &getMSSA() { return *MSSA; }
859 const MemorySSA &getMSSA() const { return *MSSA; }
867 std::unique_ptr<MemorySSA> MSSA;
870 /// \brief This is the generic walker interface for walkers of MemorySSA.
872 /// MemorySSA gives you, or otherwise produce better info than MemorySSA gives
883 MemorySSAWalker(MemorySSA *);
912 assert(MA && "Handed an instruction that MemorySSA doesn't recognize?");
937 /// invalidation. This will be called by MemorySSA at appropriate times for
941 virtual void verify(const MemorySSA *MSSA) { assert(MSSA == this->MSSA); }
944 friend class MemorySSA; // For updating MSSA pointer in MemorySSA move
946 MemorySSA *MSSA;
1063 /// want when walking upwards through MemorySSA def chains. It takes a pair of