[llvm] r232725 - [Hexagon] ENDLOOP is a non-reversible conditional branch

Krzysztof Parzyszek kparzysz at codeaurora.org
Thu Mar 19 08:18:57 PDT 2015


Author: kparzysz
Date: Thu Mar 19 10:18:57 2015
New Revision: 232725

URL: http://llvm.org/viewvc/llvm-project?rev=232725&view=rev
Log:
[Hexagon] ENDLOOP is a non-reversible conditional branch

Modified:
    llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp

Modified: llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp?rev=232725&r1=232724&r2=232725&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp Thu Mar 19 10:18:57 2015
@@ -1083,6 +1083,8 @@ SubsumesPredicate(const SmallVectorImpl<
 //
 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 {





More information about the llvm-commits mailing list