summaryrefslogtreecommitdiffstats
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
commit57c6594e97f3927756976bc5cdeffbb17226aa08 (patch)
tree7150b5bf828f8ab53198d826706e2bb9ddb6d201
parent273ce56d7a4b043ccc6eb5feca1a13879b1d567a (diff)
downloadbcm5719-llvm-57c6594e97f3927756976bc5cdeffbb17226aa08.tar.gz
bcm5719-llvm-57c6594e97f3927756976bc5cdeffbb17226aa08.zip
fix leakage of IfcvtTokens
llvm-svn: 58690
-rw-r--r--llvm/lib/CodeGen/IfConversion.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/IfConversion.cpp b/llvm/lib/CodeGen/IfConversion.cpp
index a83d7f1fcc4..f5e5f6baafc 100644
--- a/llvm/lib/CodeGen/IfConversion.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud