mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
Only using x86-64 rip relative addressing in non-staic mode?
llvm-svn: 47019
This commit is contained in:
parent
0d2efb485d
commit
e3ddcfa588
@ -679,21 +679,25 @@ bool X86DAGToDAGISel::MatchAddress(SDOperand N, X86ISelAddressMode &AM,
|
||||
GlobalValue *GV = G->getGlobal();
|
||||
AM.GV = GV;
|
||||
AM.Disp += G->getOffset();
|
||||
AM.isRIPRel = is64Bit;
|
||||
AM.isRIPRel = TM.getRelocationModel() != Reloc::Static &&
|
||||
Subtarget->isPICStyleRIPRel();
|
||||
return false;
|
||||
} else if (ConstantPoolSDNode *CP = dyn_cast<ConstantPoolSDNode>(N0)) {
|
||||
AM.CP = CP->getConstVal();
|
||||
AM.Align = CP->getAlignment();
|
||||
AM.Disp += CP->getOffset();
|
||||
AM.isRIPRel = is64Bit;
|
||||
AM.isRIPRel = TM.getRelocationModel() != Reloc::Static &&
|
||||
Subtarget->isPICStyleRIPRel();
|
||||
return false;
|
||||
} else if (ExternalSymbolSDNode *S =dyn_cast<ExternalSymbolSDNode>(N0)) {
|
||||
AM.ES = S->getSymbol();
|
||||
AM.isRIPRel = is64Bit;
|
||||
AM.isRIPRel = TM.getRelocationModel() != Reloc::Static &&
|
||||
Subtarget->isPICStyleRIPRel();
|
||||
return false;
|
||||
} else if (JumpTableSDNode *J = dyn_cast<JumpTableSDNode>(N0)) {
|
||||
AM.JT = J->getIndex();
|
||||
AM.isRIPRel = is64Bit;
|
||||
AM.isRIPRel = TM.getRelocationModel() != Reloc::Static &&
|
||||
Subtarget->isPICStyleRIPRel();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user