[PATCH] D48338: [SCEV] Improve zext(A /u B) and zext(A % B)

Sanjoy Das via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 20 21:12:37 PDT 2018


sanjoy added a comment.

I agree with Tim that this is best discussed on llvm-dev, but SCEV generally tries to push `zext` and `sext` towards the expression leaves (as Tim already pointed out, I noticed after typing this :) ).  The canonical example of this is add recurrences -- SCEV tries very hard to transform `zext{A,+,B}` to `{zext A,+,zext B}`.

> increase the computational complexity of expressions (I suspect that will make us generate worse code but probably negligible on CPU unless we do vectorization)

I think it is somewhat "off topic" to discussion the computational complexity of SCEV expressions -- SCEV expressions are primarily there to aid analysis, not to compute.  Maybe what you're looking for is more smarts in SCEVExpander?


Repository:
  rL LLVM

https://reviews.llvm.org/D48338





More information about the llvm-commits mailing list