Merge LLVM SVN r99883, fix double frees.

0.96
Török Edvin 15 years ago
parent 5b3a41e04d
commit acb31e8afa
  1. 7
      libclamav/c++/llvm/include/llvm/CodeGen/LiveInterval.h
  2. 5
      libclamav/c++/llvm/lib/CodeGen/LiveInterval.cpp

@ -330,12 +330,7 @@ namespace llvm {
} }
void clear() { void clear() {
while (!valnos.empty()) { valnos.clear();
VNInfo *VNI = valnos.back();
valnos.pop_back();
VNI->~VNInfo();
}
ranges.clear(); ranges.clear();
} }

@ -305,7 +305,6 @@ void LiveInterval::removeRange(SlotIndex Start, SlotIndex End,
do { do {
VNInfo *VNI = valnos.back(); VNInfo *VNI = valnos.back();
valnos.pop_back(); valnos.pop_back();
VNI->~VNInfo();
} while (!valnos.empty() && valnos.back()->isUnused()); } while (!valnos.empty() && valnos.back()->isUnused());
} else { } else {
ValNo->setIsUnused(true); ValNo->setIsUnused(true);
@ -353,7 +352,6 @@ void LiveInterval::removeValNo(VNInfo *ValNo) {
do { do {
VNInfo *VNI = valnos.back(); VNInfo *VNI = valnos.back();
valnos.pop_back(); valnos.pop_back();
VNI->~VNInfo();
} while (!valnos.empty() && valnos.back()->isUnused()); } while (!valnos.empty() && valnos.back()->isUnused());
} else { } else {
ValNo->setIsUnused(true); ValNo->setIsUnused(true);
@ -581,7 +579,6 @@ void LiveInterval::MergeValueInAsValue(
do { do {
VNInfo *VNI = valnos.back(); VNInfo *VNI = valnos.back();
valnos.pop_back(); valnos.pop_back();
VNI->~VNInfo();
} while (!valnos.empty() && valnos.back()->isUnused()); } while (!valnos.empty() && valnos.back()->isUnused());
} else { } else {
V1->setIsUnused(true); V1->setIsUnused(true);
@ -658,7 +655,6 @@ void LiveInterval::MergeInClobberRanges(LiveIntervals &li_,
if (UnusedValNo) { if (UnusedValNo) {
// Delete the last unused val#. // Delete the last unused val#.
valnos.pop_back(); valnos.pop_back();
UnusedValNo->~VNInfo();
} }
} }
@ -751,7 +747,6 @@ VNInfo* LiveInterval::MergeValueNumberInto(VNInfo *V1, VNInfo *V2) {
do { do {
VNInfo *VNI = valnos.back(); VNInfo *VNI = valnos.back();
valnos.pop_back(); valnos.pop_back();
VNI->~VNInfo();
} while (valnos.back()->isUnused()); } while (valnos.back()->isUnused());
} else { } else {
V1->setIsUnused(true); V1->setIsUnused(true);

Loading…
Cancel
Save