[PATCH] Fix PR22222
sanjoy at playingwithpointers.com
Wed Jan 14 18:15:32 PST 2015
In http://reviews.llvm.org/D6979#108906, @majnemer wrote:
> Out of curiosity, why isn't this implemented like the code here:
In retrospect, that would have been the right way to do it. Directly checking zext(A + B) == zext(A) + zext(B) does not catch `test.unsigned.add.0` (in the test file), but I think that is fixable.
Moreover, the approach you pointed out can be easily generalized to subtraction. I don't think you can easily generalize it to multiplication (since checking for `BitWidth + 1` may not be sufficient in that case); but we're not handling multiplication anyway.
I'll try to implement the approach `LinearFunctionTestReplace` and send in a patch for review sometime this week.
More information about the llvm-commits