[PATCH] D129793: [LSR] Allow already invariant operand for ICmpZero matching

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 11:00:50 PDT 2022


aeubanks added a comment.

In D129793#3655785 <https://reviews.llvm.org/D129793#3655785>, @reames wrote:

> In D129793#3655742 <https://reviews.llvm.org/D129793#3655742>, @fhahn wrote:
>
>> It looks like this may cause crashes on some bots, e.g.  https://lab.llvm.org/buildbot#builders/168/builds/7520
>
> Agreed, that does look related.  Reverted while I investigate.

was just looking at this, here's a reduced test case if it's helpful

  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-unknown-linux-gnu"
  
  define void @f() {
    br label %1
  
  1:                                                ; preds = %1, %0
    %2 = phi i64 [ %3, %1 ], [ 0, %0 ]
    %3 = add nuw i64 %2, 1
    br i1 true, label %4, label %1
  
  4:                                                ; preds = %1
    %5 = trunc i64 %2 to i32
    br label %6
  
  6:                                                ; preds = %4
    %7 = add i32 %5, 1
    br label %8
  
  8:                                                ; preds = %6
    %9 = icmp eq i32 %5, %7
    ret void
  }
  $ ./build/rel/bin/opt -loop-reduce
  Instruction does not dominate all uses!
    %8 = add i32 %5, 1
    %6 = add i32 %8, 1


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129793/new/

https://reviews.llvm.org/D129793



More information about the llvm-commits mailing list