Changes in directory llvm/include/llvm/CodeGen:
SelectionDAGNodes.h updated: 1.101 -> 1.102 --- Log message: kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. --- Diffs of the changes: (+15 -7) SelectionDAGNodes.h | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.101 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.102 --- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.101 Wed Feb 8 20:10:15 2006 +++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h Thu Feb 16 23:43:56 2006 @@ -118,6 +118,21 @@ // Simple integer binary arithmetic operators. ADD, SUB, MUL, SDIV, UDIV, SREM, UREM, + // Carry-setting nodes for multiple precision addition and subtraction. + // These nodes take two operands of the same value type, and produce two + // results. The first result is the normal add or sub result, the second + // result is the carry flag result. + ADDC, SUBC, + + // Carry-using nodes for multiple precision addition and subtraction. These + // nodes take three operands: The first two are the normal lhs and rhs to + // the add or sub, and the third is the input carry flag. These nodes + // produce two results; the normal result of the add or sub, and the output + // carry flag. These nodes both read and write a carry flag to allow them + // to them to be chained together for add and sub of arbitrarily large + // values. + ADDE, SUBE, + // Simple binary floating point operators. FADD, FSUB, FMUL, FDIV, FREM, @@ -156,13 +171,6 @@ // (op #2) as a CondCodeSDNode. SETCC, - // ADD_PARTS/SUB_PARTS - These operators take two logical operands which are - // broken into a multiple pieces each, and return the resulting pieces of - // doing an atomic add/sub operation. This is used to handle add/sub of - // expanded types. The operation ordering is: - // [Lo,Hi] = op [LoLHS,HiLHS], [LoRHS,HiRHS] - ADD_PARTS, SUB_PARTS, - // SHL_PARTS/SRA_PARTS/SRL_PARTS - These operators are used for expanded // integer shift operations, just like ADD/SUB_PARTS. The operation // ordering is: _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits