support targetexternalsym

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25005 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Lenharth 2005-12-24 23:36:59 +00:00
parent e4672aa5b4
commit 330851a8f6
2 changed files with 20 additions and 13 deletions

View File

@ -204,6 +204,9 @@ def tframeindex: SDNode<"ISD::TargetFrameIndex", SDTPtrLeaf, [],
"FrameIndexSDNode">;
def externalsym : SDNode<"ISD::ExternalSymbol", SDTPtrLeaf, [],
"ExternalSymbolSDNode">;
def texternalsym: SDNode<"ISD::TargetExternalSymbol", SDTPtrLeaf, [],
"ExternalSymbolSDNode">;
def add : SDNode<"ISD::ADD" , SDTIntBinOp ,
[SDNPCommutative, SDNPAssociative]>;
def sub : SDNode<"ISD::SUB" , SDTIntBinOp>;

View File

@ -1983,6 +1983,10 @@ public:
OS << " ";
DeclareSDOperand("Tmp"+utostr(ResNo));
OS << " = " << Val << ";\n";
} else if (!N->isLeaf() && N->getOperator()->getName() == "texternalsym") {
OS << " ";
DeclareSDOperand("Tmp"+utostr(ResNo));
OS << " = " << Val << ";\n";
} else if (N->isLeaf() && (CP = NodeGetComplexPattern(N, ISE))) {
std::string Fn = CP->getSelectFunc();
NumRes = CP->getNumOperands();