[PATCH] D73756: Revert of [InstCombine] Revert rL341831: relax one-use check in foldICmpAddCons… …tant() (PR44100)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 01:18:16 PST 2020


lebedev.ri added a comment.

That one-use check itself certainly doesn't prevent the issue on it's own.
The bug is elsewhere.

  $ llvm-diff-11 /tmp/good.ll /tmp/bad.ll 
  in function reduce_7:
    in block %output_y_in_tile.loop_body.us.preheader:
      >   %2 = add nuw nsw i32 %thread_id.y, -32
    in block %output_y_in_tile.loop_body.us:
      <   %invar.inc.us = add nuw nsw i32 %output_y_in_tile.invar_address.06.us, 32
          %6 = load float, float addrspace(1)* %lsr.iv14, align 4, !invariant.load !4, !noalias !5
          %7 = fadd float %partial_reduction_result.0.05.us, %6
      >   %lsr.iv.next = add nsw i32 %lsr.iv, 32
          %scevgep13 = getelementptr i8, i8 addrspace(1)* %lsr.iv, i64 384
      >   %9 = icmp ugt i32 %lsr.iv.next, 64
      >   br i1 %9, label %output_y_in_tile.loop_exit, label %output_y_in_tile.loop_body.us, !llvm.loop !9
      <   %8 = icmp ugt i32 %invar.inc.us, 96
      <   br i1 %8, label %output_y_in_tile.loop_exit, label %output_y_in_tile.loop_body.us, !llvm.loop !9


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

https://reviews.llvm.org/D73756





More information about the llvm-commits mailing list