<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:alina.sbirlea@gmail.com" title="Alina Sbirlea <alina.sbirlea@gmail.com>"> <span class="fn">Alina Sbirlea</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - NewGVN asserts, "instruction processed too many times""
   href="https://bugs.llvm.org/show_bug.cgi?id=31613">bug 31613</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>FIXED
           </td>
           <td>---
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>alina.sbirlea@gmail.com
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - NewGVN asserts, "instruction processed too many times""
   href="https://bugs.llvm.org/show_bug.cgi?id=31613#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - NewGVN asserts, "instruction processed too many times""
   href="https://bugs.llvm.org/show_bug.cgi?id=31613">bug 31613</a>
              from <span class="vcard"><a class="email" href="mailto:alina.sbirlea@gmail.com" title="Alina Sbirlea <alina.sbirlea@gmail.com>"> <span class="fn">Alina Sbirlea</span></a>
</span></b>
        <pre>Reopening, as I'm hitting this assertion again in a different testcase.

To reproduce:
opt -passes=mldst-motion,newgvn test.ll


target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"

define hidden void @barrier() align 2 {
entry:
  %0 = load i64, i64* null, align 8
  %call9 = tail call i64 @g()
  %rem = select i1 undef, i64 0, i64 %call9
  %add = add i64 %0, 1
  %shr17 = lshr i64 %add, 1
  %sub = add nsw i64 %shr17, -1
  br label %for.cond

for.cond.loopexit.loopexit:                       ; preds = %cleanup.cont
  br label %for.cond.loopexit

for.cond.loopexit:                                ; preds = %for.cond,
%for.cond.loopexit.loopexit
  br label %for.cond

for.cond:                                         ; preds = %for.cond.loopexit,
%entry
  %__current.0 = phi i64 [ %rem, %entry ], [ 0, %for.cond.loopexit ]
  %cmp222 = icmp eq i64 %__current.0, %sub
  br i1 %cmp222, label %land.lhs.true.preheader, label %for.cond.loopexit

land.lhs.true.preheader:                          ; preds = %for.cond
  br label %land.lhs.true

land.lhs.true:                                    ; preds = %cleanup.cont,
%land.lhs.true.preheader
  %__current.13 = phi i64 [ %inc, %cleanup.cont ], [ %__current.0,
%land.lhs.true.preheader ]
  br label %cleanup.cont

cleanup.cont:                                     ; preds = %land.lhs.true
  %inc = add i64 %__current.13, 1
  %cmp22 = icmp eq i64 %inc, %sub
  br i1 %cmp22, label %land.lhs.true, label %for.cond.loopexit.loopexit
}

declare hidden i64 @g() local_unnamed_addr align 2</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>