summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineVerifier.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2009-08-08 15:34:50 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2009-08-08 15:34:50 +0000
commitdcf009ca20e974e433719fd8a968f1242ebca4c3 (patch)
tree6518be6bd1533160b8213a8d72d9274cbd10ff78 /llvm/lib/CodeGen/MachineVerifier.cpp
parentc69169d1757b520ea49dde30e54619a9b0aece8e (diff)
downloadbcm5719-llvm-dcf009ca20e974e433719fd8a968f1242ebca4c3.tar.gz
bcm5719-llvm-dcf009ca20e974e433719fd8a968f1242ebca4c3.zip
Clean out per-function data after the machine code verifier is done with it.
Also don't dereference old pointers after they have been deleted causing random crashes when enabling the machine code verifier. Ahem... I have not included a test case for the crash. It hapened when enabling the verifier on CodeGen/X86/2009-08-06-branchfolder-crash.ll. The crash depends on an MBB being allocated at the same address as a previously deleted MBB. I don't think that can be reproduced reliably. llvm-svn: 78472
Diffstat (limited to 'llvm/lib/CodeGen/MachineVerifier.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineVerifier.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineVerifier.cpp b/llvm/lib/CodeGen/MachineVerifier.cpp
index e6ed18057cf..0b9127fd4a5 100644
--- a/llvm/lib/CodeGen/MachineVerifier.cpp
+++ b/llvm/lib/CodeGen/MachineVerifier.cpp
@@ -220,6 +220,14 @@ MachineVerifier::runOnMachineFunction(MachineFunction &MF)
llvm_report_error(Msg.str());
}
+ // Clean up.
+ regsLive.clear();
+ regsDefined.clear();
+ regsDead.clear();
+ regsKilled.clear();
+ regsLiveInButUnused.clear();
+ MBBInfoMap.clear();
+
return false; // no changes
}
OpenPOWER on IntegriCloud