[PATCH] D52548: Stop instcombining introducing undef's in div/rem instructions.

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 27 09:33:34 PDT 2018


spatel added a comment.

I haven't actually stepped through the code changes yet, so let me know if I'm missing something. I'm just looking at the tests a bit closer now.

The problem is independent of any FP ops, so we can kill the int-to-fp-cast ops and the trailing fmul in all cases, and we still show the bug.
Going further, we don't even need the final shuffle in any of these tests?

  define <3 x i32> @add(i32 %y, i32 %z) {
    %i0 = insertelement <2 x i32> undef, i32 %y, i32 0
    %i1 = insertelement <2 x i32> %i0, i32 %z, i32 1
    %a = udiv <2 x i32> %i1, <i32 255, i32 255>
    %ext = shufflevector <2 x i32> %a, <2 x i32> undef, <3 x i32> <i32 0, i32 1, i32 undef>
    ret <3 x i32> %ext
  }


https://reviews.llvm.org/D52548





More information about the llvm-commits mailing list