diff options
author | Chris Lattner <sabre@nondot.org> | 2006-03-28 00:39:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-03-28 00:39:06 +0000 |
commit | ef8ef916348ad0da964687358e8be614e2470d67 (patch) | |
tree | 2bb6831a17977a141bc37c63e8adcd3d874e78f4 /include | |
parent | c9e0b1460be31a16207934339e4ad52bc912aff1 (diff) | |
download | external_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')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 30 |
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, |