OSDN Git Service

[PowerPC] Added an assert to make sure that the MBBI iterator is valid.
authorStefan Pintilie <stefanp@ca.ibm.com>
Wed, 20 Dec 2017 19:07:44 +0000 (19:07 +0000)
committerStefan Pintilie <stefanp@ca.ibm.com>
Wed, 20 Dec 2017 19:07:44 +0000 (19:07 +0000)
The function createTailCallBranchInstr assumes that the iterator MBBI is valid.
However, only one use of MBBI is guarded in the function.
Fix this by adding an assert.

Differential Revision: https://reviews.llvm.org/D41358

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321205 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCFrameLowering.cpp

index c870a22..7902da2 100644 (file)
@@ -1531,11 +1531,11 @@ void PPCFrameLowering::emitEpilogue(MachineFunction &MF,
 
 void PPCFrameLowering::createTailCallBranchInstr(MachineBasicBlock &MBB) const {
   MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
-  DebugLoc dl;
 
-  if (MBBI != MBB.end())
-    dl = MBBI->getDebugLoc();
+  // If we got this far a first terminator should exist.
+  assert(MBBI != MBB.end() && "Failed to find the first terminator.");
 
+  DebugLoc dl = MBBI->getDebugLoc();
   const PPCInstrInfo &TII = *Subtarget.getInstrInfo();
 
   // Create branch instruction for pseudo tail call return instruction