mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-26 22:26:16 +00:00
blockfreq: Move PackagedLoopData above WorkingData
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206854 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c3c821fe5
commit
df1956a475
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user