summaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/IfConversion.cpp
diff options
context:
space:
mode:
authorNuno Lopes <nunoplopes@sapo.pt>2008-11-04 13:02:59 +0000
committerNuno Lopes <nunoplopes@sapo.pt>2008-11-04 13:02:59 +0000
commit7ecbfd115721c282b3b67c64d02b2ca0f000608c (patch)
tree189249ad293c98f58537ec0e0ecf37c0f89a2728 /lib/CodeGen/IfConversion.cpp
parentb0b53491ef32b85bd90c8590faeb8a3fb4b17a95 (diff)
downloadexternal_llvm-7ecbfd115721c282b3b67c64d02b2ca0f000608c.zip
external_llvm-7ecbfd115721c282b3b67c64d02b2ca0f000608c.tar.gz
external_llvm-7ecbfd115721c282b3b67c64d02b2ca0f000608c.tar.bz2
fix leakage of IfcvtTokens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58690 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IfConversion.cpp')
-rw-r--r--lib/CodeGen/IfConversion.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/CodeGen/IfConversion.cpp b/lib/CodeGen/IfConversion.cpp
index a83d7f1..f5e5f6b 100644
--- a/lib/CodeGen/IfConversion.cpp
+++ b/lib/CodeGen/IfConversion.cpp
@@ -256,6 +256,10 @@ bool IfConverter::runOnMachineFunction(MachineFunction &MF) {
Tokens.pop_back();
BBInfo &BBI = Token->BBI;
IfcvtKind Kind = Token->Kind;
+ unsigned NumDups = Token->NumDups;
+ unsigned NumDups2 = Token->NumDups;
+
+ delete Token;
// If the block has been evicted out of the queue or it has already been
// marked dead (due to it being predicated), then skip it.
@@ -323,7 +327,7 @@ bool IfConverter::runOnMachineFunction(MachineFunction &MF) {
DOUT << "Ifcvt (Diamond): BB#" << BBI.BB->getNumber() << " (T:"
<< BBI.TrueBB->getNumber() << ",F:"
<< BBI.FalseBB->getNumber() << ") ";
- RetVal = IfConvertDiamond(BBI, Kind, Token->NumDups, Token->NumDups2);
+ RetVal = IfConvertDiamond(BBI, Kind, NumDups, NumDups2);
DOUT << (RetVal ? "succeeded!" : "failed!") << "\n";
if (RetVal) NumDiamonds++;
break;