mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-20 09:24:58 +00:00
support targetexternalsym
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25005 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e4672aa5b4
commit
330851a8f6
@ -190,20 +190,23 @@ def vt : SDNode<"ISD::VALUETYPE" , SDTOther , [], "VTSDNode">;
|
|||||||
def bb : SDNode<"ISD::BasicBlock", SDTOther , [], "BasicBlockSDNode">;
|
def bb : SDNode<"ISD::BasicBlock", SDTOther , [], "BasicBlockSDNode">;
|
||||||
def cond : SDNode<"ISD::CONDCODE" , SDTOther , [], "CondCodeSDNode">;
|
def cond : SDNode<"ISD::CONDCODE" , SDTOther , [], "CondCodeSDNode">;
|
||||||
def undef : SDNode<"ISD::UNDEF" , SDTUNDEF , []>;
|
def undef : SDNode<"ISD::UNDEF" , SDTUNDEF , []>;
|
||||||
def globaladdr : SDNode<"ISD::GlobalAddress", SDTPtrLeaf, [],
|
def globaladdr : SDNode<"ISD::GlobalAddress", SDTPtrLeaf, [],
|
||||||
"GlobalAddressSDNode">;
|
"GlobalAddressSDNode">;
|
||||||
def tglobaladdr: SDNode<"ISD::TargetGlobalAddress", SDTPtrLeaf, [],
|
def tglobaladdr : SDNode<"ISD::TargetGlobalAddress", SDTPtrLeaf, [],
|
||||||
"GlobalAddressSDNode">;
|
"GlobalAddressSDNode">;
|
||||||
def constpool : SDNode<"ISD::ConstantPool", SDTPtrLeaf, [],
|
def constpool : SDNode<"ISD::ConstantPool", SDTPtrLeaf, [],
|
||||||
"ConstantPoolSDNode">;
|
"ConstantPoolSDNode">;
|
||||||
def tconstpool : SDNode<"ISD::TargetConstantPool", SDTPtrLeaf, [],
|
def tconstpool : SDNode<"ISD::TargetConstantPool", SDTPtrLeaf, [],
|
||||||
"ConstantPoolSDNode">;
|
"ConstantPoolSDNode">;
|
||||||
def frameindex : SDNode<"ISD::FrameIndex", SDTPtrLeaf, [],
|
def frameindex : SDNode<"ISD::FrameIndex", SDTPtrLeaf, [],
|
||||||
"FrameIndexSDNode">;
|
"FrameIndexSDNode">;
|
||||||
def tframeindex: SDNode<"ISD::TargetFrameIndex", SDTPtrLeaf, [],
|
def tframeindex : SDNode<"ISD::TargetFrameIndex", SDTPtrLeaf, [],
|
||||||
"FrameIndexSDNode">;
|
"FrameIndexSDNode">;
|
||||||
def externalsym: SDNode<"ISD::ExternalSymbol", SDTPtrLeaf, [],
|
def externalsym : SDNode<"ISD::ExternalSymbol", SDTPtrLeaf, [],
|
||||||
"ExternalSymbolSDNode">;
|
"ExternalSymbolSDNode">;
|
||||||
|
def texternalsym: SDNode<"ISD::TargetExternalSymbol", SDTPtrLeaf, [],
|
||||||
|
"ExternalSymbolSDNode">;
|
||||||
|
|
||||||
def add : SDNode<"ISD::ADD" , SDTIntBinOp ,
|
def add : SDNode<"ISD::ADD" , SDTIntBinOp ,
|
||||||
[SDNPCommutative, SDNPAssociative]>;
|
[SDNPCommutative, SDNPAssociative]>;
|
||||||
def sub : SDNode<"ISD::SUB" , SDTIntBinOp>;
|
def sub : SDNode<"ISD::SUB" , SDTIntBinOp>;
|
||||||
|
@ -1983,6 +1983,10 @@ public:
|
|||||||
OS << " ";
|
OS << " ";
|
||||||
DeclareSDOperand("Tmp"+utostr(ResNo));
|
DeclareSDOperand("Tmp"+utostr(ResNo));
|
||||||
OS << " = " << Val << ";\n";
|
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))) {
|
} else if (N->isLeaf() && (CP = NodeGetComplexPattern(N, ISE))) {
|
||||||
std::string Fn = CP->getSelectFunc();
|
std::string Fn = CP->getSelectFunc();
|
||||||
NumRes = CP->getNumOperands();
|
NumRes = CP->getNumOperands();
|
||||||
|
Loading…
Reference in New Issue
Block a user