summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineRelocation.h
diff options
context:
space:
mode:
authorEvan Phoenix <evan@fallingsnow.net>2010-02-04 19:56:59 +0000
committerEvan Phoenix <evan@fallingsnow.net>2010-02-04 19:56:59 +0000
commit85bb54f96421461aaafcde83b6302530179337e9 (patch)
tree67b596b86737a4970b7bcfaf027065975b5007ce /include/llvm/CodeGen/MachineRelocation.h
parent6fdce6590261476964cb921a959ed83353e8b096 (diff)
downloadllvm-85bb54f96421461aaafcde83b6302530179337e9.tar.gz
llvm-85bb54f96421461aaafcde83b6302530179337e9.tar.bz2
llvm-85bb54f96421461aaafcde83b6302530179337e9.tar.xz
Disable external stubs for X86-32 and X86-64
Instruction selection for X86 now can choose an instruction sequence that will fit any address of any symbol, no matter the pointer width. X86-64 uses a mov+call-via-reg sequence for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95323 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineRelocation.h')
-rw-r--r--include/llvm/CodeGen/MachineRelocation.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/MachineRelocation.h b/include/llvm/CodeGen/MachineRelocation.h
index 1c15fab532..c316785dd1 100644
--- a/include/llvm/CodeGen/MachineRelocation.h
+++ b/include/llvm/CodeGen/MachineRelocation.h
@@ -138,14 +138,15 @@ public:
///
static MachineRelocation getExtSym(uintptr_t offset, unsigned RelocationType,
const char *ES, intptr_t cst = 0,
- bool GOTrelative = 0) {
+ bool GOTrelative = 0,
+ bool NeedStub = true) {
assert((RelocationType & ~63) == 0 && "Relocation type too large!");
MachineRelocation Result;
Result.Offset = offset;
Result.ConstantVal = cst;
Result.TargetReloType = RelocationType;
Result.AddrType = isExtSym;
- Result.MayNeedFarStub = true;
+ Result.MayNeedFarStub = NeedStub;
Result.GOTRelative = GOTrelative;
Result.TargetResolve = false;
Result.Target.ExtSym = ES;