aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-10-23 03:40:17 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-10-23 03:40:17 +0000
commit2a2de66db2093a5bc1fd620d1b6ae7992a552b24 (patch)
tree0bb48a09b071a8fa7a5d1f8ff1b786810604b817 /include/llvm/CodeGen/SelectionDAGNodes.h
parent9cc5a0a1016c5d13ac0c74bce2fc6ef3c9089f3f (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.h9
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;
}
};