From b0d27662ea513eb6ea08c3c5101d27fc50da7fb2 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 16 Mar 2010 02:01:51 +0000 Subject: Use getFirstTerminator(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98604 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegAllocLocal.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/CodeGen/RegAllocLocal.cpp') diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp index d61c3ff2cb..194fc14848 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -671,9 +671,10 @@ void RALocal::ComputeLocalLiveness(MachineBasicBlock& MBB) { // Live-out (of the function) registers contain return values of the function, // so we need to make sure they are alive at return time. - bool BBEndsInReturn = !MBB.empty() && MBB.back().getDesc().isReturn(); - if (BBEndsInReturn) { - MachineInstr* Ret = &MBB.back(); + MachineBasicBlock::iterator Ret = MBB.getFirstTerminator(); + bool BBEndsInReturn = (Ret != MBB.end() && Ret->getDesc().isReturn()); + + if (BBEndsInReturn) for (MachineRegisterInfo::liveout_iterator I = MF->getRegInfo().liveout_begin(), E = MF->getRegInfo().liveout_end(); I != E; ++I) @@ -681,7 +682,6 @@ void RALocal::ComputeLocalLiveness(MachineBasicBlock& MBB) { Ret->addOperand(MachineOperand::CreateReg(*I, false, true)); LastUseDef[*I] = std::make_pair(Ret, Ret->getNumOperands()-1); } - } // Finally, loop over the final use/def of each reg // in the block and determine if it is dead. -- cgit v1.2.3