ARM AnalyzeBranch should ignore DEBUG_VALUES while analyzing terminators.
authorLang Hames <lhames@gmail.com>
Fri, 20 Dec 2013 20:27:51 +0000 (20:27 +0000)
committerLang Hames <lhames@gmail.com>
Fri, 20 Dec 2013 20:27:51 +0000 (20:27 +0000)
Found by inspection by Julien Lerouge. Thanks Julian!

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

lib/Target/ARM/ARMBaseInstrInfo.cpp

index c532229dd91048955f0baa25ef35b8da698d1b76..c0478260f51c79bf6f78d892b1b273f83a8d43b5 100644 (file)
@@ -283,7 +283,7 @@ ARMBaseInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,MachineBasicBlock *&TBB,
 
   // Walk backwards from the end of the basic block until the branch is
   // analyzed or we give up.
-  while (isPredicated(I) || I->isTerminator()) {
+  while (isPredicated(I) || I->isTerminator() || I->isDebugValue()) {
 
     // Flag to be raised on unanalyzeable instructions. This is useful in cases
     // where we want to clean up on the end of the basic block before we bail