]> granicus.if.org Git - llvm/commitdiff
PeepholeOptimizer: Relax assert
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 1 Jul 2016 23:15:06 +0000 (23:15 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 1 Jul 2016 23:15:06 +0000 (23:15 +0000)
Allow implicit defs

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

lib/CodeGen/PeepholeOptimizer.cpp

index d521ae8f9587188fd9cdfd414c42743620c11e0f..11ff79cb9f3db5df9147ce5fb2d0c342fd92950c 100644 (file)
@@ -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())