Simon Pilgrim
|
7fc6882374
|
[DAGCombiner] Add add/sub saturation undef handling
Match ConstantFolding.cpp:
(add_sat x, undef) -> -1
(sub_sat x, undef) -> 0
llvm-svn: 351070
|
2019-01-14 14:16:24 +00:00 |
Simon Pilgrim
|
a367285f64
|
[X86] Add add/sub saturation undef tests.
llvm-svn: 351066
|
2019-01-14 13:47:07 +00:00 |
Simon Pilgrim
|
cfa5f06dde
|
[DAGCombiner] Enable add saturation constant folding
llvm-svn: 351060
|
2019-01-14 12:34:31 +00:00 |
Simon Pilgrim
|
67610926fc
|
[DAGCombiner] Add add saturation constant folding tests.
Exposes an issue with sadd_sat for computeOverflowKind, so I've disabled it for now.
llvm-svn: 351057
|
2019-01-14 12:12:42 +00:00 |
Simon Pilgrim
|
56ba1db933
|
[DAGCombiner] If add_sat(x,y) can't overflow -> add(x,y)
NOTE: We need more powerful signed overflow detection in computeOverflowKind
llvm-svn: 351026
|
2019-01-13 22:08:26 +00:00 |
Simon Pilgrim
|
897d4c6fe9
|
[DAGCombiner] Some very basic add/sub saturation combines.
Handle combines with zero and constant canonicalization for adds.
llvm-svn: 351024
|
2019-01-13 21:50:24 +00:00 |
Simon Pilgrim
|
9961c55e28
|
[X86] Add some basic add/sub saturation combine tests.
The actual combines will be added in a future commit.
llvm-svn: 351023
|
2019-01-13 21:21:46 +00:00 |