[PATCH] D151807: [InstCombine] Revisit user of newly one-use instructions

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 14 03:21:24 PDT 2023


foad added a comment.

@nikic this is causing an infinite loop in `opt -passes=instcombine`, test case:

  define void @main(<4 x float> %arg) {
  bb:
    %i = shufflevector <4 x float> %arg, <4 x float> zeroinitializer, <2 x i32> <i32 2, i32 3>
    %i1 = bitcast <2 x float> %i to <2 x i32>
    %i2 = shufflevector <2 x i32> %i1, <2 x i32> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 poison, i32 poison>
    %i3 = extractelement <4 x i32> %i2, i32 0
    %i4 = insertelement <4 x i32> zeroinitializer, i32 %i3, i32 0
    %i5 = shufflevector <4 x i32> %i4, <4 x i32> zeroinitializer, <2 x i32> <i32 1, i32 0>
    %i6 = bitcast <2 x i32> %i5 to <2 x float>
    %i7 = call <2 x float> (...) null(<2 x float> %i6, <2 x float> zeroinitializer, <2 x float> zeroinitializer)
    ret void
  }


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151807



More information about the llvm-commits mailing list