[DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry)
authorAmaury Sechet <deadalnix@gmail.com>
Wed, 3 May 2017 16:28:10 +0000 (16:28 +0000)
committerAmaury Sechet <deadalnix@gmail.com>
Wed, 3 May 2017 16:28:10 +0000 (16:28 +0000)
commit666c7059532db1242ef69a8126380188472a3744
tree37955c5255766edd2584f147f4bac60fc9f871bc
parent5191e80b8731a7472423876628373a36b9003909
[DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry)

Summary: Do the transform when the carry isn't used. It's a pattern exposed when legalizing large integers.

Reviewers: jyknight, nemanjai, mkuper, spatel, RKSimon, zvi, bkramer

Subscribers: llvm-commits

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

llvm-svn: 302047
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/X86/addcarry.ll