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 | f9adce90bf5fe374eeefbac1a5f7a45fd276c884 (patch) | |
| tree | 7aaff5e8b4f90f900b65981fc578dd4d3fd3b99e /llvm/lib/CodeGen | |
| parent | ca05e6a8375f553945eaa3970b74ae5adddaa1e6 (diff) | |
| download | bcm5719-llvm-f9adce90bf5fe374eeefbac1a5f7a45fd276c884.tar.gz bcm5719-llvm-f9adce90bf5fe374eeefbac1a5f7a45fd276c884.zip | |
Get rid of some memory leaks identified by Valgrind
llvm-svn: 25960
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 10 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index aff5d4265dd..58344872a53 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/llvm/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; } } diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index e4691b3d9c5..e2049f1cb8c 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -1998,4 +1998,5 @@ void SelectionDAGISel::ScheduleAndEmitDAG(SelectionDAG &DAG) { SL = createBURRListDAGScheduler(DAG, BB); } BB = SL->Run(); + delete SL; } |

