summaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-28 00:39:06 +0000
committerChris Lattner <sabre@nondot.org>2006-03-28 00:39:06 +0000
commitef8ef916348ad0da964687358e8be614e2470d67 (patch)
tree2bb6831a17977a141bc37c63e8adcd3d874e78f4 /include/llvm/CodeGen
parentc9e0b1460be31a16207934339e4ad52bc912aff1 (diff)
downloadexternal_llvm-ef8ef916348ad0da964687358e8be614e2470d67.zip
external_llvm-ef8ef916348ad0da964687358e8be614e2470d67.tar.gz
external_llvm-ef8ef916348ad0da964687358e8be614e2470d67.tar.bz2
Tblgen doesn't like multiple SDNode<> definitions that map to the same
enum value. Split them into separate enums. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27199 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h30
1 files changed, 22 insertions, 8 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index ceb4ff7..8e81b9f 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -80,14 +80,28 @@ namespace ISD {
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,