diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-02-04 06:49:00 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-02-04 06:49:00 +0000 |
commit | cccf1232a69e2d78516c61a97e7bfa26acefb714 (patch) | |
tree | 7a5a6167ca448c9801e173b989ed409d2568ebcb /lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | |
parent | 8f9f0d3a34ebbcd6d075fbb1250dc74f36579d50 (diff) |
Get rid of some memory leaks identified by Valgrind
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25960 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/ScheduleDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index aff5d4265d..58344872a5 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -85,7 +85,7 @@ void ScheduleDAG::IdentifyGroups() { // No more flags to walk if (Op.getValueType() != MVT::Flag) break; // Add to node group - NodeGroup::Add(getNI(Op.Val), NI); + AddToGroup(getNI(Op.Val), NI); // Let everyone else know HasGroups = true; } @@ -479,7 +479,7 @@ static unsigned CountInternalUses(NodeInfo *D, NodeInfo *U) { //===----------------------------------------------------------------------===// /// Add - Adds a definer and user pair to a node group. /// -void NodeGroup::Add(NodeInfo *D, NodeInfo *U) { +void ScheduleDAG::AddToGroup(NodeInfo *D, NodeInfo *U) { // Get current groups NodeGroup *DGroup = D->Group; NodeGroup *UGroup = U->Group; @@ -534,5 +534,11 @@ void NodeGroup::Add(NodeInfo *D, NodeInfo *U) { CountInternalUses(D, U)); DGroup->group_push_back(D); DGroup->group_push_back(U); + + if (HeadNG == NULL) + HeadNG = DGroup; + if (TailNG != NULL) + TailNG->Next = DGroup; + TailNG = DGroup; } } |