Bug fix: Printing AdIBef and AdIAft outside the scope where they
were declared, and in some cases when they were unintialized.
llvm-svn: 1146
diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
index 9c57892..9f7d5c9 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -1081,6 +1081,7 @@
MachineInstr *AdIBefCC, *AdIAftCC, *AdICpCC;
+ MachineInstr *AdIBef, *AdIAft;
//---- Insert code for pushing the reg on stack ----------
@@ -1117,8 +1118,7 @@
} else {
// for any other register type, just add the push inst
- MachineInstr *AdIBef =
- cpReg2MemMI(Reg, getStackPointer(), StackOff, RegType );
+ AdIBef = cpReg2MemMI(Reg, getStackPointer(), StackOff, RegType );
((PRA.AddedInstrMap[MInst])->InstrnsBefore).push_front(AdIBef);
}
@@ -1151,11 +1151,8 @@
} else {
// for any other register type, just add the pop inst
- MachineInstr *AdIAft =
- cpMem2RegMI(getStackPointer(), StackOff, Reg, RegType );
-
+ AdIAft = cpMem2RegMI(getStackPointer(), StackOff, Reg, RegType );
((PRA.AddedInstrMap[MInst])->InstrnsAfter).push_back(AdIAft);
-
}
PushedRegSet.insert( Reg );
@@ -1163,7 +1160,10 @@
if(1) {
cerr << "\nFor call inst:" << *MInst;
cerr << "\n -inserted caller saving instrs:\n\t ";
- cerr << *AdIBefCC << "\n\t" << *AdIAftCC ;
+ if( RegType == IntCCRegType )
+ cerr << *AdIBefCC << "\n\t" << *AdIAftCC ;
+ else
+ cerr << *AdIBef << "\n\t" << *AdIAft ;
}
} // if not already pushed