summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-02-04 06:49:00 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-02-04 06:49:00 +0000
commitf9adce90bf5fe374eeefbac1a5f7a45fd276c884 (patch)
tree7aaff5e8b4f90f900b65981fc578dd4d3fd3b99e /llvm/lib/CodeGen
parentca05e6a8375f553945eaa3970b74ae5adddaa1e6 (diff)
downloadbcm5719-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.cpp10
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp1
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;
}
OpenPOWER on IntegriCloud