diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-07-28 20:28:50 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-07-28 20:28:50 +0000 |
commit | 329878f4ddd72c6f2d2d6acfa48d7e1447ed88c0 (patch) | |
tree | 734153c5279d45fc261855524c9d4fb7089047a0 | |
parent | 36880e704f63d4c77a3c5a94047b5afdf79e82db (diff) |
RegionInfo: Make sure to free cached nodes; Tobias, please check!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109650 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Analysis/RegionInfo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Analysis/RegionInfo.cpp b/lib/Analysis/RegionInfo.cpp index ac660e72f0..6f38dcc968 100644 --- a/lib/Analysis/RegionInfo.cpp +++ b/lib/Analysis/RegionInfo.cpp @@ -59,6 +59,11 @@ Region::Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RInfo, : RegionNode(Parent, Entry, 1), RI(RInfo), DT(dt), exit(Exit) {} Region::~Region() { + // Free the cached nodes. + for (BBNodeMapT::iterator it = BBNodeMap.begin(), + ie = BBNodeMap.end(); it != ie; ++it) + delete it->second; + // Only clean the cache for this Region. Caches of child Regions will be // cleaned when the child Regions are deleted. BBNodeMap.clear(); |