Lines Matching defs:MemoryGroup
27 /// A node of a memory dependency graph. A MemoryGroup describes a set of
30 /// By construction, instructions of a MemoryGroup don't depend on each other.
35 class MemoryGroup {
44 SmallVector<MemoryGroup *, 4> OrderSucc;
46 SmallVector<MemoryGroup *, 4> DataSucc;
51 MemoryGroup(const MemoryGroup &) = delete;
52 MemoryGroup &operator=(const MemoryGroup &) = delete;
55 MemoryGroup()
59 MemoryGroup(MemoryGroup &&) = default;
82 void addSuccessor(MemoryGroup *Group, bool IsDataDependent) {
153 for (MemoryGroup *MG : OrderSucc) {
159 for (MemoryGroup *MG : DataSucc)
172 for (MemoryGroup *MG : DataSucc)
216 DenseMap<unsigned, std::unique_ptr<MemoryGroup>> Groups;
273 const MemoryGroup &Group = getGroup(GroupID);
281 const MemoryGroup &Group = getGroup(GroupID);
289 const MemoryGroup &Group = getGroup(GroupID);
295 const MemoryGroup &Group = getGroup(GroupID);
299 const MemoryGroup &getGroup(unsigned Index) const {
304 MemoryGroup &getGroup(unsigned Index) {
311 std::make_pair(NextGroupID, std::make_unique<MemoryGroup>()));