aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/Mips
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-09-16 21:12:30 +0000
committerBill Wendling <isanbard@gmail.com>2008-09-16 21:12:30 +0000
commit9468a9b6beed640eca64274c8dcc5aed3b94450b (patch)
treea78896d298334b38e78ac91f76d4174d14dba3a0 /lib/Target/Mips
parent05ae98346a190d74c2c8799c3af2f8ca23e47c27 (diff)
- Change "ExternalSymbolSDNode" to "SymbolSDNode".
- Add linkage to SymbolSDNode (default to external). - Change ISD::ExternalSymbol to ISD::Symbol. - Change ISD::TargetExternalSymbol to ISD::TargetSymbol These changes pave the way to allowing SymbolSDNodes with non-external linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56249 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
-rw-r--r--lib/Target/Mips/MipsISelDAGToDAG.cpp4
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp12
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/Target/Mips/MipsISelDAGToDAG.cpp b/lib/Target/Mips/MipsISelDAGToDAG.cpp
index a408a9623c..82c20f7595 100644
--- a/lib/Target/Mips/MipsISelDAGToDAG.cpp
+++ b/lib/Target/Mips/MipsISelDAGToDAG.cpp
@@ -159,7 +159,7 @@ SelectAddr(SDValue Op, SDValue Addr, SDValue &Offset, SDValue &Base)
return true;
}
} else {
- if ((Addr.getOpcode() == ISD::TargetExternalSymbol ||
+ if ((Addr.getOpcode() == ISD::TargetSymbol ||
Addr.getOpcode() == ISD::TargetGlobalAddress))
return false;
}
@@ -354,7 +354,7 @@ Select(SDValue N)
SDValue InFlag(0, 0);
if ( (isa<GlobalAddressSDNode>(Callee)) ||
- (isa<ExternalSymbolSDNode>(Callee)) )
+ (isa<SymbolSDNode>(Callee)) )
{
/// Direct call for global addresses and external symbols
SDValue GPReg = CurDAG->getRegister(Mips::GP, MVT::i32);
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp
index 557a1050c6..b1fe262337 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -684,14 +684,14 @@ LowerCALL(SDValue Op, SelectionDAG &DAG)
InFlag = Chain.getValue(1);
}
- // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every
- // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol
- // node so that legalize doesn't hack it.
+ // If the callee is a GlobalAddress/Symbol node (quite common, every direct
+ // call is) turn it into a TargetGlobalAddress/TargetSymbol node so that
+ // legalize doesn't hack it.
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
Callee = DAG.getTargetGlobalAddress(G->getGlobal(), getPointerTy());
- else if (ExternalSymbolSDNode *S = dyn_cast<ExternalSymbolSDNode>(Callee))
- Callee = DAG.getTargetExternalSymbol(S->getSymbol(), getPointerTy());
-
+ else if (SymbolSDNode *S = dyn_cast<SymbolSDNode>(Callee))
+ Callee = DAG.getTargetSymbol(S->getSymbol(), getPointerTy(),
+ S->getLinkage());
// MipsJmpLink = #chain, #target_address, #opt_in_flags...
// = Chain, Callee, Reg#1, Reg#2, ...