blockfreq: Move PackagedLoopData above WorkingData
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 22 Apr 2014 03:31:25 +0000 (03:31 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 22 Apr 2014 03:31:25 +0000 (03:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206854 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/BlockFrequencyInfoImpl.h

index 27243863948cd54a7a3c51411d022382d73ca091..5d129d1103b085748ab1d378d8243354faddeab6 100644 (file)
@@ -937,6 +937,27 @@ public:
     uint64_t Integer;
   };
 
+  /// \brief Data for a packaged loop.
+  ///
+  /// Contains the data necessary to represent represent a loop as a node once
+  /// it's packaged.
+  ///
+  /// PackagedLoopData inherits from BlockData to give the node the necessary
+  /// stats.  Further, it has a list of successors, list of members, and stores
+  /// the backedge mass assigned to this loop.
+  struct PackagedLoopData {
+    typedef SmallVector<std::pair<BlockNode, BlockMass>, 4> ExitMap;
+    typedef SmallVector<BlockNode, 4> MemberList;
+    BlockNode Header;       ///< Header.
+    ExitMap Exits;          ///< Successor edges (and weights).
+    MemberList Members;     ///< Members of the loop.
+    BlockMass BackedgeMass; ///< Mass returned to loop header.
+    BlockMass Mass;
+    Float Scale;
+
+    PackagedLoopData(const BlockNode &Header) : Header(Header) {}
+  };
+
   /// \brief Index of loop information.
   struct WorkingData {
     BlockNode ContainingLoop; ///< The block whose loop this block is inside.
@@ -1016,27 +1037,6 @@ public:
     void add(const BlockNode &Node, uint64_t Amount, Weight::DistType Type);
   };
 
-  /// \brief Data for a packaged loop.
-  ///
-  /// Contains the data necessary to represent represent a loop as a node once
-  /// it's packaged.
-  ///
-  /// PackagedLoopData inherits from BlockData to give the node the necessary
-  /// stats.  Further, it has a list of successors, list of members, and stores
-  /// the backedge mass assigned to this loop.
-  struct PackagedLoopData {
-    typedef SmallVector<std::pair<BlockNode, BlockMass>, 4> ExitMap;
-    typedef SmallVector<BlockNode, 4> MemberList;
-    BlockNode Header;       ///< Header.
-    ExitMap Exits;          ///< Successor edges (and weights).
-    MemberList Members;     ///< Members of the loop.
-    BlockMass BackedgeMass; ///< Mass returned to loop header.
-    BlockMass Mass;
-    Float Scale;
-
-    PackagedLoopData(const BlockNode &Header) : Header(Header) {}
-  };
-
   /// \brief Data about each block.  This is used downstream.
   std::vector<FrequencyData> Freqs;