Displaying 6 results from an estimated 6 matches for "reloc_pcrel_word".
2008 Jan 03
2
[LLVMdev] Tailcall optimization in jit stopped working
...bool NeedStub = !IsStatic ||
+ bool NeedStub = Opcode == X86::TAILJMPd || Opcode ==
X86::TAILJMPr ||
+ Opcode == X86::TAILJMPm || !IsStatic ||
(Is64BitMode && TM.getCodeModel() == CodeModel::Large);
emitGlobalAddress(MO.getGlobal(), X86::reloc_pcrel_word,
0, 0, NeedStub);
2009 Jun 10
3
[LLVMdev] Why does the x86-64 JIT emit stubs for external calls?
...outside the Small codespace.
bool NeedStub =
(Is64BitMode &&
(TM.getCodeModel() == CodeModel::Large ||
TM.getSubtarget<X86Subtarget>().isTargetDarwin())) ||
Opcode == X86::TAILJMPd;
emitGlobalAddress(MO.getGlobal(), X86::reloc_pcrel_word,
MO.getOffset(), 0, NeedStub);
This causes every external call to be emitted as a call to a stub
which then jumps to the real function.
I understand, thanks to the helpful folks on #llvm, that calls across
more than 31 bits of address space need to be emitted as a "m...
2009 Jun 11
0
[LLVMdev] Why does the x86-64 JIT emit stubs for external calls?
...ace.
> bool NeedStub =
> (Is64BitMode &&
> (TM.getCodeModel() == CodeModel::Large ||
> TM.getSubtarget<X86Subtarget>().isTargetDarwin())) ||
> Opcode == X86::TAILJMPd;
> emitGlobalAddress(MO.getGlobal(), X86::reloc_pcrel_word,
> MO.getOffset(), 0, NeedStub);
>
> This causes every external call to be emitted as a call to a stub
> which then jumps to the real function.
> I understand, thanks to the helpful folks on #llvm, that calls across
> more than 31 bits of address space nee...
2009 Jun 11
1
[LLVMdev] [unladen-swallow] Re: Why does the x86-64 JIT emit stubs for external calls?
... bool NeedStub =
>> (Is64BitMode &&
>> (TM.getCodeModel() == CodeModel::Large ||
>> TM.getSubtarget<X86Subtarget>().isTargetDarwin())) ||
>> Opcode == X86::TAILJMPd;
>> emitGlobalAddress(MO.getGlobal(), X86::reloc_pcrel_word,
>> MO.getOffset(), 0, NeedStub);
>>
>> This causes every external call to be emitted as a call to a stub
>> which then jumps to the real function.
>> I understand, thanks to the helpful folks on #llvm, that calls across
>> more than 31 bi...
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
...// Remember PIC base.
> PICBaseOffset = MCE.getCurrentPCOffset();
> X86JITInfo *JTI = dynamic_cast<X86JITInfo*>(TM.getJITInfo());
> @@ -657,7 +522,7 @@
> } else if (MO.isExternalSymbol()) {
> emitExternalSymbolAddress(MO.getSymbolName(),
> X86::reloc_pcrel_word);
> } else if (MO.isImmediate()) {
> - emitConstant(MO.getImm(), sizeOfImm(Desc));
> + emitConstant(MO.getImm(), X86InstrInfo::sizeOfImm(Desc));
> } else {
> assert(0 && "Unknown RawFrm operand!");
> }
> @@ -669,7 +534,7...
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the
implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize.
Both functions are virtual functions defined in TargetInstrInfo.h.
For X86, I moved some commodity functions from X86CodeEmitter to
X86InstrInfo.
What do you think?
Nicolas
Evan Cheng wrote:
>
> I think both of these belong to TargetInstrInfo. And