aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-13 17:58:35 +0000
committerChris Lattner <sabre@nondot.org>2005-01-13 17:58:35 +0000
commit8a496fcffdcba757412fc5cc6c772260ccfde000 (patch)
treed403b25ab3f206810f7cc5de6f97ec0b4c33e156
parent41c56c03f7464c94bac11e56046f014d49f5bcf4 (diff)
Add a new node type, add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19525 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/SelectionDAGISel.h5
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h12
2 files changed, 13 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h
index 5fc6f31cd6..77fd05ac65 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 @@ public:
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 2ca6e1509c..2957a51401 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -44,8 +44,16 @@ namespace ISD {
/// 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