Sanjay Patel 837552fe9f [PatternMatch] add special-case uaddo matching for increment-by-one (2nd try)
This is the most important uaddo problem mentioned in PR31754:
https://bugs.llvm.org/show_bug.cgi?id=31754
...but that was overcome in x86 codegen with D57637.

That patch also corrects the inc vs. add regressions seen with the  previous attempt at this.

Still, we want to make this matcher complete, so we can potentially canonicalize the pattern 
even if it's an 'add 1' operation.
Pattern matching, however, shouldn't assume that we have canonicalized IR, so we match 4 
commuted variants of uaddo.

There's also a test with a crazy type to show that the existing CGP transform based on this 
matcher is not limited by target legality checks.

I'm not sure if the Hexagon diff means the test is no longer testing what it intended to
test, but that should be solvable in a follow-up.

Differential Revision: https://reviews.llvm.org/D57516

llvm-svn: 352998
2019-02-03 16:16:48 +00:00
..
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-26 17:53:48 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2017-10-18 18:07:07 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:07:21 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-06 19:15:58 +00:00
2018-03-06 19:15:58 +00:00
2018-03-06 19:15:58 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-06 19:15:58 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-06 19:15:58 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2017-10-18 18:07:07 +00:00
2018-06-26 18:44:05 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-10-19 17:31:11 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2017-11-22 20:43:00 +00:00
2018-03-12 14:01:28 +00:00
2018-09-07 13:36:21 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2017-10-18 18:07:07 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-19 19:03:18 +00:00
2018-03-12 14:01:28 +00:00
2015-10-16 20:38:54 +00:00
2015-10-16 20:38:54 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2015-10-16 19:43:56 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-26 17:53:48 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2017-10-18 18:07:07 +00:00
2017-10-18 18:07:07 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-10-19 17:31:11 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-26 17:53:48 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2017-10-18 18:07:07 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00
2018-03-12 14:01:28 +00:00