adc and sbb need an incoming flag to ensure it reads the carry flag
from add / sub.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25444 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td
index 741e7d1..ba15900 100644
--- a/lib/Target/X86/X86InstrInfo.td
+++ b/lib/Target/X86/X86InstrInfo.td
@@ -63,8 +63,9 @@
 def X86subflag : SDNode<"X86ISD::SUB_FLAG", SDTIntBinOp,
                         [SDNPOutFlag]>;
 def X86adc     : SDNode<"X86ISD::ADC" ,     SDTIntBinOp ,
-                        [SDNPCommutative, SDNPAssociative]>;
-def X86sbb     : SDNode<"X86ISD::SBB" ,     SDTIntBinOp>;
+                        [SDNPCommutative, SDNPAssociative, SDNPInFlag]>;
+def X86sbb     : SDNode<"X86ISD::SBB" ,     SDTIntBinOp,
+                        [SDNPInFlag]>;
 
 def X86shld    : SDNode<"X86ISD::SHLD",     SDTIntShiftDOp>;
 def X86shrd    : SDNode<"X86ISD::SHRD",     SDTIntShiftDOp>;