Add a new node type, add comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19525 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h
index 5fc6f31..77fd05a 100644
--- a/include/llvm/CodeGen/SelectionDAGISel.h
+++ b/include/llvm/CodeGen/SelectionDAGISel.h
@@ -21,6 +21,7 @@
 namespace llvm {
   class SelectionDAG;
   class SelectionDAGLowering;
+  class SDOperand;
   class SSARegMap;
   class MachineBasicBlock;
   class MachineFunction;
@@ -49,8 +50,8 @@
 
   virtual void InstructionSelectBasicBlock(SelectionDAG &SD) = 0;
   
-  void CopyValueToVirtualRegister(SelectionDAGLowering &SDL,
-                                  Value *V, unsigned Reg);
+  SDOperand CopyValueToVirtualRegister(SelectionDAGLowering &SDL,
+                                       Value *V, unsigned Reg);
   void SelectBasicBlock(BasicBlock *BB, MachineFunction &MF,
                         FunctionLoweringInfo &FuncInfo);
   
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 2ca6e15..2957a51 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -44,8 +44,16 @@
   /// SelectionDAG.
   ///
   enum NodeType {
-    // Leaf nodes
-    EntryToken, Constant, ConstantFP, GlobalAddress, FrameIndex, ConstantPool,
+    // EntryToken - This is the marker used to indicate the start of the region.
+    EntryToken,
+
+    // Token factor - This node is takes multiple tokens as input and produces a
+    // single token result.  This is used to represent the fact that the operand
+    // operators are independent of each other.
+    TokenFactor,
+    
+    // Various leaf nodes.
+    Constant, ConstantFP, GlobalAddress, FrameIndex, ConstantPool,
     BasicBlock, ExternalSymbol,
 
     // CopyToReg - This node has chain and child nodes, and an associated