diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2005-10-23 03:40:17 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2005-10-23 03:40:17 +0000 |
commit | 2a2de66db2093a5bc1fd620d1b6ae7992a552b24 (patch) | |
tree | 0bb48a09b071a8fa7a5d1f8ff1b786810604b817 /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | 9cc5a0a1016c5d13ac0c74bce2fc6ef3c9089f3f (diff) |
add TargetExternalSymbol
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23886 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 1f3604a5ae..8f20b395e3 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -74,6 +74,7 @@ namespace ISD { TargetGlobalAddress, TargetFrameIndex, TargetConstantPool, + TargetExternalSymbol, // CopyToReg - This node has three operands: a chain, a register number to // set to this value, and a value. @@ -932,8 +933,9 @@ class ExternalSymbolSDNode : public SDNode { const char *Symbol; protected: friend class SelectionDAG; - ExternalSymbolSDNode(const char *Sym, MVT::ValueType VT) - : SDNode(ISD::ExternalSymbol, VT), Symbol(Sym) { + ExternalSymbolSDNode(bool isTarget, const char *Sym, MVT::ValueType VT) + : SDNode(isTarget ? ISD::TargetExternalSymbol : ISD::ExternalSymbol, VT), + Symbol(Sym) { } public: @@ -941,7 +943,8 @@ public: static bool classof(const ExternalSymbolSDNode *) { return true; } static bool classof(const SDNode *N) { - return N->getOpcode() == ISD::ExternalSymbol; + return N->getOpcode() == ISD::ExternalSymbol || + N->getOpcode() == ISD::TargetExternalSymbol; } }; |