search for: emitint64

Displaying 18 results from an estimated 18 matches for "emitint64".

Did you mean: emitint32
2018 Mar 09
2
Why is there no EmitInt64 in AsmPrinter?
Hi all, The AsmPrinter class supports functions like EmitInt8, EmitInt16, and EmitInt32 for writing a 1/2/4 byte directive to the assembly. Each of these calls the MCStreamer::EmitIntValue method with the corresponding size. For some reason, there is no EmitInt64, and I was wondering if there was a fundamental reason why? The EmitIntValue function appears to support 8-byte inputs. I dug into this a bit more and found a commit way back in 2010 (r100296) that removed the "EmitInt64" equivalent, with no explanation (presumably it was unused). I'...
2018 Mar 20
0
Why is there no EmitInt64 in AsmPrinter?
...ssemblers are okay with what the streamer does, and adding an AsmPrinter helper seems very reasonable.) --paulr From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of James Henderson via llvm-dev Sent: Friday, March 09, 2018 7:44 AM To: llvm-dev Subject: [llvm-dev] Why is there no EmitInt64 in AsmPrinter? Hi all, The AsmPrinter class supports functions like EmitInt8, EmitInt16, and EmitInt32 for writing a 1/2/4 byte directive to the assembly. Each of these calls the MCStreamer::EmitIntValue method with the corresponding size. For some reason, there is no EmitInt64, and I was wonderin...
2009 Dec 25
1
[LLVMdev] JIT buffer code skipping 8 bytes?
...ses which did not seem match the excepted type info offset. In truth I'm not sure what a type info is anyway, as I know they are not c++ type infos, but the array trick seems to work ... sort of. My question though is: 1) In JITDwarfEmitter.cpp these GlobalVariables are emitted with: JCE->emitInt64((intptr_t)Jit.getOrEmitGlobalVariable(GV)); (in JITDwarfEmitter::EmitExceptionTable) 2) The allocated emitted space is calculated by: JITCodeEmitter::allocateSpace(...) as eventually called by getOrEmitGlobalVariable(...) 3) If the correctly sized buffer was already allocated, and alignment did...
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...// emitInt32 - Emit a int32 directive. > + void emitInt32(int Value) { > + if (CurBufferPtr+4 <= BufferEnd) { > + *((uint32_t*)CurBufferPtr) = Value; > + CurBufferPtr += 4; > + } else { > + CurBufferPtr = BufferEnd; > + } > + } > + > + /// emitInt64 - Emit a int64 directive. > + void emitInt64(uint64_t Value) { > + if (CurBufferPtr+8 <= BufferEnd) { > + *((uint64_t*)CurBufferPtr) = Value; > + CurBufferPtr += 8; > + } else { > + CurBufferPtr = BufferEnd; > + } > + } > + > + /// emitAt...
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:
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...mitInt32(int Value) { > +// printf(".long 0x%x\n", Value); > + if (CurBufferPtr+4 <= BufferEnd) { > + *((uint32_t*)CurBufferPtr) = Value; > + CurBufferPtr += 4; > + } else { > + CurBufferPtr = BufferEnd; > + } > + } > + > + /// EmitInt64 - Emit a long long directive and value. > + /// > + void EmitInt64(uint64_t Value) { > + if (CurBufferPtr+8 <= BufferEnd) { > + *((uint64_t*)CurBufferPtr) = Value; > + CurBufferPtr += 8; > + } else { > + CurBufferPtr = BufferEnd; > + } > + }...
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 Mar 30
3
[LLVMdev] Being able to know the jitted code-size before emitting
Hi everyone, vmkit requires to know the size of a jitted method before emitting the method. This allows to allocate the correct size for the method. The attached patch creates this functionality when the flag SizedMemoryCode is on. In order to implement this functionality, i had to virtualize some MachineCodeEmitter functions. Is it OK to commit the patch? Thanks, Nicolas --------------
2008 Apr 01
2
[LLVMdev] Being able to know the jitted code-size before emitting
...virtual void emitWordLE(unsigned W) { >> + CurBufferPtr+=4; >> + } >> + virtual void emitWordBE(unsigned W) { >> + CurBufferPtr+=4; >> + } >> + virtual void emitInt32(int Value) { >> + CurBufferPtr += 4; >> + } >> + virtual void emitInt64(uint64_t Value) { >> + CurBufferPtr += 8; >> + } >> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >> + } >> + >> + >> + >> + virtual void StartMachineBasicBlock(MachineBasicBlock *MBB) {} >> + virtual intptr_t getConstantPool...
2008 Mar 31
0
[LLVMdev] Being able to know the jitted code-size before emitting
...CurBufferPtr++; > + } > + virtual void emitWordLE(unsigned W) { > + CurBufferPtr+=4; > + } > + virtual void emitWordBE(unsigned W) { > + CurBufferPtr+=4; > + } > + virtual void emitInt32(int Value) { > + CurBufferPtr += 4; > + } > + virtual void emitInt64(uint64_t Value) { > + CurBufferPtr += 8; > + } > + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { > + } > + > + > + > + virtual void StartMachineBasicBlock(MachineBasicBlock *MBB) {} > + virtual intptr_t getConstantPoolEntryAddress(unsigned > Constan...
2008 Apr 01
0
[LLVMdev] Being able to know the jitted code-size before emitting
...) { >>> + CurBufferPtr+=4; >>> + } >>> + virtual void emitWordBE(unsigned W) { >>> + CurBufferPtr+=4; >>> + } >>> + virtual void emitInt32(int Value) { >>> + CurBufferPtr += 4; >>> + } >>> + virtual void emitInt64(uint64_t Value) { >>> + CurBufferPtr += 8; >>> + } >>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>> + } >>> + >>> + >>> + >>> + virtual void StartMachineBasicBlock(MachineBasicBlock *MBB) {} >>>...
2008 Apr 04
3
[LLVMdev] Being able to know the jitted code-size before emitting
...tr+=4; >>>> + } >>>> + virtual void emitWordBE(unsigned W) { >>>> + CurBufferPtr+=4; >>>> + } >>>> + virtual void emitInt32(int Value) { >>>> + CurBufferPtr += 4; >>>> + } >>>> + virtual void emitInt64(uint64_t Value) { >>>> + CurBufferPtr += 8; >>>> + } >>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>> + } >>>> + >>>> + >>>> + >>>> + virtual void StartMachineBasicBlock(Machine...
2008 Apr 05
2
[LLVMdev] Being able to know the jitted code-size before emitting
...virtual void emitWordBE(unsigned W) { >>>>>> + CurBufferPtr+=4; >>>>>> + } >>>>>> + virtual void emitInt32(int Value) { >>>>>> + CurBufferPtr += 4; >>>>>> + } >>>>>> + virtual void emitInt64(uint64_t Value) { >>>>>> + CurBufferPtr += 8; >>>>>> + } >>>>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>>>> + } >>>>>> + >>>>>> + >>>>>> + >&gt...
2008 Apr 05
0
[LLVMdev] Being able to know the jitted code-size before emitting
...(unsigned W) { >>>>>>> + CurBufferPtr+=4; >>>>>>> + } >>>>>>> + virtual void emitInt32(int Value) { >>>>>>> + CurBufferPtr += 4; >>>>>>> + } >>>>>>> + virtual void emitInt64(uint64_t Value) { >>>>>>> + CurBufferPtr += 8; >>>>>>> + } >>>>>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>>>>> + } >>>>>>> + >>>>>>> + >>&g...
2008 Apr 04
0
[LLVMdev] Being able to know the jitted code-size before emitting
...>>>>> + virtual void emitWordBE(unsigned W) { >>>>> + CurBufferPtr+=4; >>>>> + } >>>>> + virtual void emitInt32(int Value) { >>>>> + CurBufferPtr += 4; >>>>> + } >>>>> + virtual void emitInt64(uint64_t Value) { >>>>> + CurBufferPtr += 8; >>>>> + } >>>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>>> + } >>>>> + >>>>> + >>>>> + >>>>> + virtual voi...
2008 Apr 07
2
[LLVMdev] Being able to know the jitted code-size before emitting
...gt;>>>>> + CurBufferPtr+=4; >>>>>>>> + } >>>>>>>> + virtual void emitInt32(int Value) { >>>>>>>> + CurBufferPtr += 4; >>>>>>>> + } >>>>>>>> + virtual void emitInt64(uint64_t Value) { >>>>>>>> + CurBufferPtr += 8; >>>>>>>> + } >>>>>>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>>>>>> + } >>>>>>>> + >>>>>&...
2008 Apr 07
0
[LLVMdev] Being able to know the jitted code-size before emitting
...gt; + CurBufferPtr+=4; >>>>>>>>> + } >>>>>>>>> + virtual void emitInt32(int Value) { >>>>>>>>> + CurBufferPtr += 4; >>>>>>>>> + } >>>>>>>>> + virtual void emitInt64(uint64_t Value) { >>>>>>>>> + CurBufferPtr += 8; >>>>>>>>> + } >>>>>>>>> + virtual void emitAt(uintptr_t *Addr, uintptr_t Value) { >>>>>>>>> + } >>>>>>>>> + &...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...intf(".long 0x%x\n", Value); >> + if (CurBufferPtr+4 <= BufferEnd) { >> + *((uint32_t*)CurBufferPtr) = Value; >> + CurBufferPtr += 4; >> + } else { >> + CurBufferPtr = BufferEnd; >> + } >> + } >> + >> + /// EmitInt64 - Emit a long long directive and value. >> + /// >> + void EmitInt64(uint64_t Value) { >> + if (CurBufferPtr+8 <= BufferEnd) { >> + *((uint64_t*)CurBufferPtr) = Value; >> + CurBufferPtr += 8; >> + } else { >> + CurBufferPtr = Buffe...