forked from OSchip/llvm-project
parent
11ff52bffc
commit
cbfeb9f7cd
|
@ -183,7 +183,7 @@ void SparcAsmPrinter::LowerGETPCXAndEmitMCInsts(const MachineInstr *MI,
|
|||
MCOperand MCRegOP = MCOperand::createReg(MO.getReg());
|
||||
|
||||
|
||||
if (TM.getRelocationModel() != Reloc::PIC_) {
|
||||
if (!isPositionIndependent()) {
|
||||
// Just load the address of GOT to MCRegOP.
|
||||
switch(TM.getCodeModel()) {
|
||||
default:
|
||||
|
|
|
@ -953,8 +953,7 @@ SparcTargetLowering::LowerCall_32(TargetLowering::CallLoweringInfo &CLI,
|
|||
// If the callee is a GlobalAddress node (quite common, every direct call is)
|
||||
// turn it into a TargetGlobalAddress node so that legalize doesn't hack it.
|
||||
// Likewise ExternalSymbol -> TargetExternalSymbol.
|
||||
unsigned TF = ((getTargetMachine().getRelocationModel() == Reloc::PIC_)
|
||||
? SparcMCExpr::VK_Sparc_WPLT30 : 0);
|
||||
unsigned TF = isPositionIndependent() ? SparcMCExpr::VK_Sparc_WPLT30 : 0;
|
||||
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
|
||||
Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, MVT::i32, 0, TF);
|
||||
else if (ExternalSymbolSDNode *E = dyn_cast<ExternalSymbolSDNode>(Callee))
|
||||
|
@ -1307,8 +1306,7 @@ SparcTargetLowering::LowerCall_64(TargetLowering::CallLoweringInfo &CLI,
|
|||
// Likewise ExternalSymbol -> TargetExternalSymbol.
|
||||
SDValue Callee = CLI.Callee;
|
||||
bool hasReturnsTwice = hasReturnsTwiceAttr(DAG, Callee, CLI.CS);
|
||||
unsigned TF = ((getTargetMachine().getRelocationModel() == Reloc::PIC_)
|
||||
? SparcMCExpr::VK_Sparc_WPLT30 : 0);
|
||||
unsigned TF = isPositionIndependent() ? SparcMCExpr::VK_Sparc_WPLT30 : 0;
|
||||
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
|
||||
Callee = DAG.getTargetGlobalAddress(G->getGlobal(), DL, PtrVT, 0, TF);
|
||||
else if (ExternalSymbolSDNode *E = dyn_cast<ExternalSymbolSDNode>(Callee))
|
||||
|
|
Loading…
Reference in New Issue