Initialize members to fix problem found by valgrind.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 2 Jun 2011 05:43:49 +0000 (05:43 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 2 Jun 2011 05:43:49 +0000 (05:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132456 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegisterClassInfo.cpp

index fb27213401cedf7738d2836448461cc0ef392436..9deeb15a3b56098c137c91349d76d7c2d5c0fa7b 100644 (file)
@@ -20,7 +20,8 @@
 
 using namespace llvm;
 
-RegisterClassInfo::RegisterClassInfo() : Tag(0), TRI(0) {}
+RegisterClassInfo::RegisterClassInfo() : Tag(0), MF(0), TRI(0), CalleeSaved(0)
+{}
 
 void RegisterClassInfo::runOnMachineFunction(const MachineFunction &mf) {
   bool Update = false;
@@ -35,7 +36,7 @@ void RegisterClassInfo::runOnMachineFunction(const MachineFunction &mf) {
 
   // Does this MF have different CSRs?
   const unsigned *CSR = TRI->getCalleeSavedRegs(MF);
-  if (CSR != CalleeSaved) {
+  if (Update || CSR != CalleeSaved) {
     // Build a CSRNum map. Every CSR alias gets an entry pointing to the last
     // overlapping CSR.
     CSRNum.reset(new uint8_t[TRI->getNumRegs()]);