Browse Source

PeepholeOptimizer: Relax assert

Allow implicit defs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274402 91177308-0d34-0410-b5e6-96231b3b80d8
Matt Arsenault 9 years ago
parent
commit
db64d82b74
1 changed files with 4 additions and 2 deletions
  1. 4 2
      lib/CodeGen/PeepholeOptimizer.cpp

+ 4 - 2
lib/CodeGen/PeepholeOptimizer.cpp

@@ -1887,8 +1887,10 @@ ValueTrackerResult ValueTracker::getNextSourceImpl() {
   assert(Def && "This method needs a valid definition");
 
   assert(
-      (DefIdx < Def->getDesc().getNumDefs() || Def->getDesc().isVariadic()) &&
-      Def->getOperand(DefIdx).isDef() && "Invalid DefIdx");
+      (Def->getOperand(DefIdx).isDef() &&
+       (DefIdx < Def->getDesc().getNumDefs() || Def->getDesc().isVariadic()) ||
+       Def->getOperand(DefIdx).isImplicit()) &&
+       "Invalid DefIdx");
   if (Def->isCopy())
     return getNextSourceFromCopy();
   if (Def->isBitcast())