summaryrefslogtreecommitdiffstats
path: root/llvm
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
commitf8beaeffe2f7562703679a5b99ccf10ec659f383 (patch)
tree78375523e5d1aa276f77dcc126e11b5012f57c14 /llvm
parentf1d6f068149fc72c9e96bf63ff1df1c7bedd704c (diff)
downloadbcm5719-llvm-f8beaeffe2f7562703679a5b99ccf10ec659f383.tar.gz
bcm5719-llvm-f8beaeffe2f7562703679a5b99ccf10ec659f383.zip
Tblgen doesn't like multiple SDNode<> definitions that map to the same
enum value. Split them into separate enums. llvm-svn: 27199
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/CodeGen/SelectionDAGNodes.h30
1 files changed, 22 insertions, 8 deletions
diff --git a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
index ceb4ff752a6..8e81b9f7c49 100644
--- a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/llvm/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,
OpenPOWER on IntegriCloud