Displaying 6 results from an estimated 6 matches for "emitpcrelativeblockaddress".
2008 Jan 03
2
[LLVMdev] Tailcall optimization in jit stopped working
...arnold
Index: lib/Target/X86/X86CodeEmitter.cpp
===================================================================
--- lib/Target/X86/X86CodeEmitter.cpp (revision 45541)
+++ lib/Target/X86/X86CodeEmitter.cpp (working copy)
@@ -601,7 +601,8 @@
if (MO.isMachineBasicBlock()) {
emitPCRelativeBlockAddress(MO.getMBB());
} else if (MO.isGlobalAddress()) {
- bool NeedStub = !IsStatic ||
+ bool NeedStub = Opcode == X86::TAILJMPd || Opcode ==
X86::TAILJMPr ||
+ Opcode == X86::TAILJMPm || !IsStatic ||
(Is64BitMode && TM.getCodeModel() == C...
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...}
>
> void emitInstruction(const MachineInstr &MI);
> +
> + void getAnalysisUsage(AnalysisUsage &AU) const {
> + AU.addRequired<MachineModuleInfo>();
> + MachineFunctionPass::getAnalysisUsage(AU);
> + }
>
> private:
> void emitPCRelativeBlockAddress(MachineBasicBlock *MBB);
> @@ -96,11 +101,14 @@
> assert((MF.getTarget().getRelocationModel() != Reloc::Default ||
> MF.getTarget().getRelocationModel() != Reloc::Static) &&
> "JIT relocation model must be set to static or default!");
> +
>...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...struction(const MachineInstr &MI);
>> +
>> + void getAnalysisUsage(AnalysisUsage &AU) const {
>> + AU.addRequired<MachineModuleInfo>();
>> + MachineFunctionPass::getAnalysisUsage(AU);
>> + }
>>
>> private:
>> void emitPCRelativeBlockAddress(MachineBasicBlock *MBB);
>> @@ -96,11 +101,14 @@
>> assert((MF.getTarget().getRelocationModel() != Reloc::Default ||
>> MF.getTarget().getRelocationModel() != Reloc::Static) &&
>> "JIT relocation model must be set to static or default!&qu...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone,
Here's a patch that enables exception handling when jitting. I've
copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need
to factorize it, but the functionality is there and I'm very happy with
it :)
lli should now be able to execute the output from llvm-gcc when using
exceptions (the UnwindInst instruction is not involved in this patch).
Just add the
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...str &MI,
> const TargetInstrDesc *Desc);
> +
> + void getAnalysisUsage(AnalysisUsage &AU) const {
> + AU.addRequired<MachineModuleInfo>();
> + MachineFunctionPass::getAnalysisUsage(AU);
> + }
>
> private:
> void emitPCRelativeBlockAddress(MachineBasicBlock *MBB);
> @@ -104,10 +110,13 @@
> assert((MF.getTarget().getRelocationModel() != Reloc::Default ||
> MF.getTarget().getRelocationModel() != Reloc::Static) &&
> "JIT relocation model must be set to static or default!");
> +
>...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all,
Here's a new patch with Evan's comments (thx Evan!) and some cleanups.
Now the (duplicated) exception handling code is in a new file:
lib/ExecutionEngine/JIT/JITDwarfEmitter.
This patch should work on linux/x86 and linux/ppc (tested).
Nicolas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jit-exceptions.patch
URL: