<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [OssFuzz Issue 26832] "No point in having a non-constant max backedge taken count!""
   href="https://bugs.llvm.org/show_bug.cgi?id=48051">48051</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[OssFuzz Issue 26832] "No point in having a non-constant max backedge taken count!"
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Scalar Optimizations
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>llvm-dev@redking.me.uk
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>lebedev.ri@gmail.com, llvm-bugs@lists.llvm.org, nikita.ppv@gmail.com, spatel+llvm@rotateright.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Reduced from <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26832">https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26832</a>

opt -irce

opt: /home/simon/LLVM/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:7000:
llvm::ScalarEvolution::ExitLimit::ExitLimit(const llvm::SCEV*, const
llvm::SCEV*, bool, llvm::ArrayRef<const llvm::SmallPtrSetImpl<const
llvm::SCEVPredicate*>*>): Assertion `(isa<SCEVCouldNotCompute>(MaxNotTaken) ||
isa<SCEVConstant>(MaxNotTaken)) && "No point in having a non-constant max
backedge taken count!"' failed.

define void @scalar_after_vectorization_0() {
outer.ph:
  br label %outer.body

outer.body:                                       ; preds = %inner.end,
%outer.ph
  %i = phi i64 [ 1, %outer.ph ], [ %i.next, %inner.end ]
  %tmp0 = mul nuw nsw i64 %i, undef
  br label %inner.body

inner.body:                                       ; preds = %inner.body,
%outer.body
  %j = phi i64 [ 1, %outer.body ], [ %tmp1, %inner.body ]
  %tmp1 = add nuw nsw i64 %j, %tmp0
  %B3 = mul i64 %tmp1, undef
  %B13 = mul i64 %B3, 4294967296
  %C2 = icmp slt i64 undef, %B13
  br i1 %C2, label %inner.body, label %inner.end

inner.end:                                        ; preds = %inner.body
  %B4 = sub i64 9223372036854775807, -9223372036854775808
  %B21 = and i64 %B4, %B4
  %B9 = lshr i64 9223372036854775807, -1
  %B16 = urem i64 %B4, %B9
  %i.next = add i64 %i, %B16
  %C = icmp ult i64 %B21, %i.next
  br i1 %C, label %outer.body, label %outer.end

outer.end:                                        ; preds = %inner.end
  ret void
}</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>