[PATCH] D52508: [InstCombine] Clean up after IndVarSimplify

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 2 06:04:29 PDT 2018


dmgreen planned changes to this revision.
dmgreen added a comment.

Unfortunately, since I did this everything seems to have changed and we now end up with something like:
(S + -32) - (32 & (S + umax(31 - S, -32)))

Which at first glaces looks much tougher, but I'll have a look and see if I can find a way to simplify that.

> Is there a bug report associated with this? I saw a comment about this case somewhere, but I'm not finding it now.

There was a bug I put a comment in about this a while back. That was PR38280, but I don't know if it's really related to this exactly. I've seen this problem come up in a few other places (a memcpy in our clibs, one of the cases in cmsis dsp, a customers crc function, etc)

> Definitely, let's split these up. I starting looking at the demanded bits half and convinced myself there must be some umin sibling that we miss. This is what I came up with:
>  https://rise4fun.com/Alive/TSb

Will do, thanks for the examples.


https://reviews.llvm.org/D52508





More information about the llvm-commits mailing list