Add some DAG combines for SUBC/SUBE. If nothing uses the carry/borrow out of subc...
authorCraig Topper <craig.topper@gmail.com>
Sat, 7 Jan 2012 09:06:39 +0000 (09:06 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 7 Jan 2012 09:06:39 +0000 (09:06 +0000)
commit43a1bd6ac7caf826c024eb05507b3c8fe8956dc3
tree4772f56495073c819daff7204cddf5d1b162abdd
parente47e682bec7fe906c6a1e45991ad8a3a42d5b300
Add some DAG combines for SUBC/SUBE. If nothing uses the carry/borrow out of subc, turn it into a sub. Turn (subc x, x) into 0 with no borrow. Turn (subc x, 0) into x with no borrow. Turn (subc -1, x) into (xor x, -1) with no borrow. Turn sube with no borrow in into subc.

llvm-svn: 147728
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp