1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

MemorySSA.h - make clang-format happy

llvm-svn: 299296
This commit is contained in:
Daniel Berlin 2017-04-01 09:44:14 +00:00
parent d007e8d89f
commit 2e2452dc6a

View File

@ -12,10 +12,10 @@
/// walk memory instructions using a use/def graph. /// walk memory instructions using a use/def graph.
/// ///
/// Memory SSA class builds an SSA form that links together memory access /// Memory SSA class builds an SSA form that links together memory access
/// instructions such as loads, stores, atomics, and calls. Additionally, it does /// instructions such as loads, stores, atomics, and calls. Additionally, it
/// a trivial form of "heap versioning" Every time the memory state changes in /// does a trivial form of "heap versioning" Every time the memory state changes
/// the program, we generate a new heap version. It generates MemoryDef/Uses/Phis /// in the program, we generate a new heap version. It generates
/// that are overlayed on top of the existing instructions. /// MemoryDef/Uses/Phis that are overlayed on top of the existing instructions.
/// ///
/// As a trivial example, /// As a trivial example,
/// define i32 @main() #0 { /// define i32 @main() #0 {
@ -54,15 +54,15 @@
/// } /// }
/// ///
/// Given this form, all the stores that could ever effect the load at %8 can be /// Given this form, all the stores that could ever effect the load at %8 can be
/// gotten by using the MemoryUse associated with it, and walking from use to def /// gotten by using the MemoryUse associated with it, and walking from use to
/// until you hit the top of the function. /// def until you hit the top of the function.
/// ///
/// Each def also has a list of users associated with it, so you can walk from /// Each def also has a list of users associated with it, so you can walk from
/// both def to users, and users to defs. Note that we disambiguate MemoryUses, /// both def to users, and users to defs. Note that we disambiguate MemoryUses,
/// but not the RHS of MemoryDefs. You can see this above at %7, which would /// but not the RHS of MemoryDefs. You can see this above at %7, which would
/// otherwise be a MemoryUse(4). Being disambiguated means that for a given /// otherwise be a MemoryUse(4). Being disambiguated means that for a given
/// store, all the MemoryUses on its use lists are may-aliases of that store (but /// store, all the MemoryUses on its use lists are may-aliases of that store
/// the MemoryDefs on its use list may not be). /// (but the MemoryDefs on its use list may not be).
/// ///
/// MemoryDefs are not disambiguated because it would require multiple reaching /// MemoryDefs are not disambiguated because it would require multiple reaching
/// definitions, which would require multiple phis, and multiple memoryaccesses /// definitions, which would require multiple phis, and multiple memoryaccesses
@ -711,10 +711,8 @@ private:
unsigned NextID; unsigned NextID;
}; };
// Internal MemorySSA utils, for use by MemorySSA classes and walkers // Internal MemorySSA utils, for use by MemorySSA classes and walkers
class MemorySSAUtil class MemorySSAUtil {
{
protected: protected:
friend class MemorySSAWalker; friend class MemorySSAWalker;
friend class GVNHoist; friend class GVNHoist;