[PATCH] D17921: [CorrelatedValuePropagation] Convert an SDiv to a UDiv if both operands are known to be nonnegative

Justin Lebar via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 18:11:03 PDT 2016


jlebar added a subscriber: jlebar.
jlebar added a comment.

This patch regresses our ability to unroll

  void dummy(int);
  void foo() {
  #pragma unroll
    for (int i = 32; i > 0; i /= 2) { dummy(i); }
  }

It's unclear to me whether this is a deficiency in scalar evolution or a bad canonicalization, although the comments above suggest maybe the latter?


Repository:
  rL LLVM

http://reviews.llvm.org/D17921





More information about the llvm-commits mailing list