[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAGNodes.h

Chris Lattner lattner at cs.uiuc.edu
Mon Mar 27 16:39:18 PST 2006



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAGNodes.h updated: 1.123 -> 1.124
---
Log message:

Tblgen doesn't like multiple SDNode<> definitions that map to the same
enum value.  Split them into separate enums.


---
Diffs of the changes:  (+22 -8)

 SelectionDAGNodes.h |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)


Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.123 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.124
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.123	Mon Mar 27 00:58:47 2006
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h	Mon Mar 27 18:39:06 2006
@@ -80,14 +80,28 @@
     TargetConstantPool,
     TargetExternalSymbol,
     
-    /// RESULT{,OUTCHAIN} = INTRINSIC({INCHAIN,} INTRINSICID, arg1, arg2, ...)
-    /// This node represents a target intrinsic function.  If the intrinsic
-    /// has side effects, the first operand is a chain pointer and the result
-    /// includes an output chain.  After this input is the ID number of the 
-    /// intrinsic, from the llvm::intrinsic namespace.  The operands to the 
-    /// intrinsic follow.
-    INTRINSIC,
-
+    /// RESULT = INTRINSIC_WO_CHAIN(INTRINSICID, arg1, arg2, ...)
+    /// This node represents a target intrinsic function with no side effects.
+    /// The first operand is the ID number of the intrinsic from the
+    /// llvm::Intrinsic namespace.  The operands to the intrinsic follow.  The
+    /// node has returns the result of the intrinsic.
+    INTRINSIC_WO_CHAIN,
+    
+    /// RESULT,OUTCHAIN = INTRINSIC_W_CHAIN(INCHAIN, INTRINSICID, arg1, ...)
+    /// This node represents a target intrinsic function with side effects that
+    /// returns a result.  The first operand is a chain pointer.  The second is
+    /// the ID number of the intrinsic from the llvm::Intrinsic namespace.  The
+    /// operands to the intrinsic follow.  The node has two results, the result
+    /// of the intrinsic and an output chain.
+    INTRINSIC_W_CHAIN,
+
+    /// OUTCHAIN = INTRINSIC_VOID(INCHAIN, INTRINSICID, arg1, arg2, ...)
+    /// This node represents a target intrinsic function with side effects that
+    /// does not return a result.  The first operand is a chain pointer.  The
+    /// second is the ID number of the intrinsic from the llvm::Intrinsic
+    /// namespace.  The operands to the intrinsic follow.
+    INTRINSIC_VOID,
+    
     // CopyToReg - This node has three operands: a chain, a register number to
     // set to this value, and a value.  
     CopyToReg,






More information about the llvm-commits mailing list