aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineRelocation.h
AgeCommit message (Collapse)Author
2010-02-04Disable external stubs for X86-32 and X86-64Evan Phoenix
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
2009-11-07Make the need-stub variables accurate and consistent. In the case ofJeffrey Yasskin
MachineRelocations, "stub" always refers to a far-call stub or a load-a-faraway-global stub, so this patch adds "Far" to the term. (Other stubs are used for lazy compilation and dlsym address replacement.) The variable was also inconsistent between the positive and negative sense, and the positive sense ("NeedStub") was more demanding than is accurate (since a nearby-enough function can be called directly even if the platform often requires a stub). Since the negative sense causes double-negatives, I switched to "MayNeedFarStub" globally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86363 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26Move DataTypes.h to include/llvm/System, update all users. This breaks the lastChandler Carruth
direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids ↵Evan Cheng
some overflow issues. Patch by Thomas Jablin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60828 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58949 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Rename isString -> isExternalSymbol; getString -> getExternalSymbol since ↵Evan Cheng
these work on externsym machine relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58895 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08Indentation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58881 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07Jump table relocation addresses may be resolved by target.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-05Rename isGVLazyPtr to isGVNonLazyPtr relocation. This represents Mac OS XEvan Cheng
indirect gv reference. Please don't call it lazy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58746 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29Add a bit to MachineRelocation that tells JIT that target is responsible for ↵Evan Cheng
resolving the address. e.g. ARM constpool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58405 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30Revert 51775.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51795 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-21Fix the failures in the PPC JIT by marking relocation entries forChris Lattner
external symbols (e.g. 'fmod') as needing a stub. This regression was introduced by Evan's jit patch here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071231/056749.html With this fixed, the two ExecutionEngine failures are passing on ppc, and the ppc jit works on freebench and olden. This should be pulled into the 2.2 release branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46222 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-04X86 PIC JIT support fixes: encoding bugs, add lazy pointer stubs support.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45575 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-03Change MachineRelocation::DoesntNeedFnStub to NeedStub. This fields will be usedEvan Cheng
for non-function GV relocations that require function address stubs (e.g. Mac OS X in non-static mode). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45527 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29Don't attribute in file headers anymore. See llvmdev for theChris Lattner
discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-21Make enum-valued bitfield large enough to avoid interpretation as negative ↵Jeff Cohen
values in VC++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36304 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11Add a default relocation type, and allow clients to set the ConstantValNate Begeman
field after creation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32429 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27Add basic block machine relocation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29349 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-23Added jump table address relocation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28908 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03Change from using MachineRelocation ctors to using static methodsChris Lattner
in MachineRelocation to create Relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28088 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-03Cleanup the internal implementation of MachineRelocation. No interface orChris Lattner
functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28086 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27Eliminate tabs and trailing spaces.Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22allow constants to be relocated like GV (necessary for alpha, as constants ↵Andrew Lenharth
are relocated with globals, not with .text), and allow targets to have a GOT managed for them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22496 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-21Add another bit, to make the JIT a bit more efficient.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20Add missing #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20Add the getRelocationType method that I forgotChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18033 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20New fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18029 91177308-0d34-0410-b5e6-96231b3b80d8