diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-22 03:31:25 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-22 03:31:25 +0000 |
commit | df1956a475a0af71d6c3872658c962740bdbbba7 (patch) | |
tree | e3856c9a94ad78542a08dbe9c9492489fe8fa795 /include | |
parent | 2c3c821fe5f5215cd5617bbce043a61d28328a9f (diff) | |
download | llvm-df1956a475a0af71d6c3872658c962740bdbbba7.tar.gz llvm-df1956a475a0af71d6c3872658c962740bdbbba7.tar.bz2 llvm-df1956a475a0af71d6c3872658c962740bdbbba7.tar.xz |
blockfreq: Move PackagedLoopData above WorkingData
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206854 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/BlockFrequencyInfoImpl.h | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/include/llvm/Analysis/BlockFrequencyInfoImpl.h b/include/llvm/Analysis/BlockFrequencyInfoImpl.h index 2724386394..5d129d1103 100644 --- a/include/llvm/Analysis/BlockFrequencyInfoImpl.h +++ b/include/llvm/Analysis/BlockFrequencyInfoImpl.h @@ -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; |