Index: llvm/trunk/lib/CodeGen/LiveDebugVariables.cpp =================================================================== --- llvm/trunk/lib/CodeGen/LiveDebugVariables.cpp +++ llvm/trunk/lib/CodeGen/LiveDebugVariables.cpp @@ -1097,7 +1097,7 @@ unsigned Reg = LocMO.getReg(); // Find the next instruction in the MBB that define the register Reg. - while (I != MBB->end()) { + while (I != MBB->end() && !I->isTerminator()) { if (!LIS.isNotInMIMap(*I) && SlotIndex::isEarlierEqualInstr(StopIdx, LIS.getInstructionIndex(*I))) break; Index: llvm/trunk/test/CodeGen/Mips/pr34975.ll =================================================================== --- llvm/trunk/test/CodeGen/Mips/pr34975.ll +++ llvm/trunk/test/CodeGen/Mips/pr34975.ll @@ -1,4 +1,4 @@ -; RUN: llc -mtriple=mips64-unknown-freebsd -target-abi n64 -relocation-model pic -o /dev/null %s -O2 +; RUN: llc -mtriple=mips64-unknown-freebsd -target-abi n64 -relocation-model pic -verify-machineinstrs -o /dev/null %s -O2 ; Test that the presence of debug information does not cause the branch folder ; to rewrite branches to have negative basic block ids, which would cause the Index: llvm/trunk/test/CodeGen/Mips/pr35071.ll =================================================================== --- llvm/trunk/test/CodeGen/Mips/pr35071.ll +++ llvm/trunk/test/CodeGen/Mips/pr35071.ll @@ -1,4 +1,4 @@ -; RUN: llc -mtriple mips64-unknown-freebsd12.0 -relocation-model pic -mcpu=mips4 -target-abi n64 -O2 -o - %s +; RUN: llc -mtriple mips64-unknown-freebsd12.0 -relocation-model pic -mcpu=mips4 -target-abi n64 -O2 -verify-machineinstrs -o - %s ; Test that the long branch pass does not crash due to the control flow ; optimizer producing malformed basic block operands due to the backend