[ARM] Prevent use of a value pointed by end() iterator when placing a jump table
[oota-llvm.git] / lib / Target / ARM / ARMConstantIslandPass.cpp
index 416c5fd5cd7bd63e61c4cad2fd969327b1bdf3c4..0bf2d374df6a455b58634db6d769f4f4777780f5 100644 (file)
@@ -589,6 +589,8 @@ void ARMConstantIslands::doInitialJumpTablePlacement(
   MachineBasicBlock *LastCorrectlyNumberedBB = nullptr;
   for (MachineBasicBlock &MBB : *MF) {
     auto MI = MBB.getLastNonDebugInstr();
+    if (MI == MBB.end())
+      continue;
 
     unsigned JTOpcode;
     switch (MI->getOpcode()) {