diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-09-17 21:59:42 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-09-17 21:59:42 +0000 |
commit | c2b768f09e108b71348af58f3ab31d0fc6d15dd6 (patch) | |
tree | 0090d3449f1c9407872f0fad867d41afe2b9480a /lib/CodeGen/MachineCSE.cpp | |
parent | 9ce75625ebb43e9b4fa2a1f7a8611f07640bbe2b (diff) |
Machine CSE was forgetting to clear some data structures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114222 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineCSE.cpp')
-rw-r--r-- | lib/CodeGen/MachineCSE.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineCSE.cpp b/lib/CodeGen/MachineCSE.cpp index 39a50d2078..272b54dea1 100644 --- a/lib/CodeGen/MachineCSE.cpp +++ b/lib/CodeGen/MachineCSE.cpp @@ -54,6 +54,11 @@ namespace { AU.addPreserved<MachineDominatorTree>(); } + virtual void releaseMemory() { + ScopeMap.clear(); + Exps.clear(); + } + private: const unsigned LookAheadLimit; typedef ScopedHashTableScope<MachineInstr*, unsigned, @@ -469,6 +474,8 @@ bool MachineCSE::PerformCSE(MachineDomTreeNode *Node) { DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> ParentMap; DenseMap<MachineDomTreeNode*, unsigned> OpenChildren; + CurrVN = 0; + // Perform a DFS walk to determine the order of visit. WorkList.push_back(Node); do { |