[Hexagon] ENDLOOP is a non-reversible conditional branch
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Mar 2015 15:18:57 +0000 (15:18 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Mar 2015 15:18:57 +0000 (15:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232725 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Hexagon/HexagonInstrInfo.cpp

index 26e0f4bbb8f2fff73db07bb42c3e4fbd9643419a..0f1973b9f8984afb2eabd4c5ff26e8bb54b0c7e5 100644 (file)
@@ -1083,6 +1083,8 @@ SubsumesPredicate(const SmallVectorImpl<MachineOperand> &Pred1,
 //
 bool HexagonInstrInfo::
 ReverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const {
+  if (!Cond.empty() && Cond[0].isMBB())
+    return true;
   if (!Cond.empty() && Cond[0].isImm() && Cond[0].getImm() == 0) {
     Cond.erase(Cond.begin());
   } else {