search for: jitcodeemitt

Displaying 20 results from an estimated 53 matches for "jitcodeemitt".

Did you mean: jitcodeemitter
2009 May 28
0
[LLVMdev] JITCodeEmitter patch - up for comments
This is the JITCodeEmitter patch, this is to facilitate cordening off the JIT code from the future direct object emission code (i) supporting the upcoming ObjectCodeEmitter class, on the X86, ARM, Alpha, and PowerPC platforms. This involves generic parameterization of backend code emitters to allow code emission to allot...
2009 Jul 02
0
[LLVMdev] JITCodeEmitter plans
Reid, et.al, I cannot post the JITCodeEmitter efficiency patch for commital yet as it is still dependant upon the newer version of the MachineCodeEmitter being submitted, when it is replaced by the ObjectCodeEmitter. Anyway I have attached the code for you to look at. It is also a endian speedup patch for included. The ObjectCodeEmitter patc...
2009 Dec 25
1
[LLVMdev] JIT buffer code skipping 8 bytes?
...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 not affect the current buffer pointer, JITCodeEmitter::allocateSpace(...) returns the current buffer pointer (CurBufferPtr), BEFORE this pointer is o...
2012 Aug 06
2
[LLVMdev] Code-emission problem
...4 lli 0x0000000103518e3b raise + 27 5 lli 0x0000000103518ef2 abort + 18 6 lli 0x0000000103500cf6 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 198 7 lli 0x0000000102afb170 (anonymous namespace)::Emitter<llvm::JITCodeEmitter>::emitInstruction(llvm::MachineInstr&, llvm::MCInstrDesc const*) + 3408 8 lli 0x0000000102afa351 (anonymous namespace)::Emitter<llvm::JITCodeEmitter>::runOnMachineFunction(llvm::MachineFunction&) + 577 9 lli 0x0000000102fb953e llvm::MachineFunctionPa...
2011 Aug 10
1
[LLVMdev] How to emit a simple stream of machine code.
...I think I've already implemented everything in the backend that is required to do this, but I'm not sure how to get a pointer to the emitted machine code stream so I can send it to the GPU. I'm guessing that I need to use the function addPassesToEmitMachineCode(PassManagerBase &PM,JITCodeEmitter &JCE, CodeGenOpt::Level OptLevel, bool DisableVerify), but I'm not sure how to extract the code from the JITCodeEmitter, or if this is even the right place to start. What is the best way for me to accomplish this? Thanks, Tom
2009 Feb 28
2
[LLVMdev] Removal of GVStub methods from MachineCodeEmitter, ELFWriter, and MachOWriter
...IMPLEMENT THESE HERE! To get rid of these easily turned out to be a semicomplex modification because of the JITInfo classes dependance on MachineCodeEmitter and the GVStub methods. Also the fact that JITEmitter is hidden and quite a large class in a .cpp file. At first I did this by introducing a JITCodeEmitter class between MachineCodeEmitter and the (un)hidden JITEmitter. But this lead to more dependancies and they lead on to more. I have now made class header for JITEmitter putting it in the llvm namespace. There were several other header dependancies as a result and lib/ExecutionEngine/JIT/JIT.h an...
2013 May 30
2
[LLVMdev] Activating MIPS Code Emitter.
Hello, Is it possible to activate the MIPS code emitter during Post-RA scheduler. I tried including both MipsCodeEmitter.cpp and JITCodeEmitter.h to PostRASchedulerList.cpp, but when I rebuild the compiler I get an error that says “/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h fatal error: MipsGenRegisterInfo.inc file not found”. I’m assuming that the MipsGenRegisterInfo.inc is not yet generated when I’m trying to include it in the Po...
2009 Mar 02
0
[LLVMdev] Removal of GVStub methods from MachineCodeEmitter, ELFWriter, and MachOWriter
...rid of these easily turned out to be a semicomplex > modification because of the JITInfo classes dependance on > MachineCodeEmitter and the GVStub methods. Also the fact that > JITEmitter is hidden and quite a large class in a .cpp file. > > At first I did this by introducing a JITCodeEmitter class between > MachineCodeEmitter and the (un)hidden JITEmitter. But this lead to > more dependancies and they lead on to more. > > I have now made class header for JITEmitter putting it in the llvm > namespace. There were several other header dependancies as a result >...
2010 Jan 22
2
[LLVMdev] Exception handling question
...0000d67c86 llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70 9 lli 0x0000000000d62805 llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613 10 lli 0x0000000000d60ac3 llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&, llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) + 335 ... Ciao, Duncan.
2013 Nov 13
3
[LLVMdev] (Very) small patch for the jit event listener
...day, November 13, 2013 6:09 AM To: llvm-commits at cs.uiuc.edu Subject: (Very) small patch for the jit event listener Hi all, We have a small problem for vmkit. We rely on the JITEventListener to register the safepoints generated for the garbage collector, and for that purpose, we have to use the JITCodeEmitter (the MachineCodeEmitter) that was used to generate the MachineFunction in order to find the physical address of the safepoints (aka, the MCSymbols). A long time ago, it was not a problem as the JIT class was in the llvm interface, but today, the header is hidden inside the lib directory and not i...
2013 May 30
0
[LLVMdev] Activating MIPS Code Emitter.
...The code emitters have nothing to do with the post-RA scheduler. -Jim On May 30, 2013, at 6:23 AM, Jafar J <pluck90 at hotmail.com> wrote: > Hello, > > Is it possible to activate the MIPS code emitter during Post-RA scheduler. I tried including both MipsCodeEmitter.cpp and JITCodeEmitter.h to PostRASchedulerList.cpp, but when I rebuild the compiler I get an error that says “/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h fatal error: MipsGenRegisterInfo.inc file not found”. I’m assuming that the MipsGenRegisterInfo.inc is not yet generated when I’m trying to include it in the Po...
2011 Apr 19
2
[LLVMdev] Crash in llvm::JITDwarfEmitter::EmitDwarfTable on 2.8 and 2.9 release but not on trunk?
...fEmitter::EmitDwarfTable () at context.h:491 (gdb) bt #0 0x0000000100852203 in llvm::JITDwarfEmitter::EmitDwarfTable () at context.h:491 #1 0x0000000100859a76 in (anonymous namespace)::JITEmitter::finishFunction () at context.h:491 #2 0x0000000100871a6a in (anonymous namespace)::Emitter<llvm::JITCodeEmitter>::runOnMachineFunction () at stl_tree.h:1050 #3 0x0000000100b1381d in llvm::MachineFunctionPass::runOnFunction () at stl_tree.h:1050 #4 0x0000000100ee15f0 in llvm::FPPassManager::runOnFunction () at stl_tree.h:1050 #5 0x0000000100ee178c in llvm::FunctionPassManagerImpl::run () at stl_tree.h...
2013 May 30
2
[LLVMdev] Activating MIPS Code Emitter.
...to do? The code emitters have nothing to do with the post-RA scheduler. -Jim On May 30, 2013, at 6:23 AM, Jafar J <pluck90 at hotmail.com> wrote: Hello, Is it possible to activate the MIPS code emitter during Post-RA scheduler. I tried including both MipsCodeEmitter.cpp and JITCodeEmitter.h to PostRASchedulerList.cpp, but when I rebuild the compiler I get an error that says “/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h fatal error: MipsGenRegisterInfo.inc file not found”. I’m assuming that the MipsGenRegisterInfo.inc is not yet generated when I’m trying to include it in the Po...
2013 Nov 13
0
[LLVMdev] (Very) small patch for the jit event listener
...: llvm-commits at cs.uiuc.edu > Subject: (Very) small patch for the jit event listener > > Hi all, > > We have a small problem for vmkit. We rely on the JITEventListener to > register the safepoints generated for the garbage collector, and for that > purpose, we have to use the JITCodeEmitter (the > MachineCodeEmitter) that was used to generate the MachineFunction in order > to find the physical address of the safepoints (aka, the MCSymbols). A long > time ago, it was not a problem as the JIT class was in the llvm interface, > but today, the header is hidden inside the lib...
2009 Oct 06
1
[LLVMdev] 2.6/trunk Execution Engine question
...49 PM, Reid Kleckner <rnk at mit.edu> wrote: >> Also, the null pointer is coming from a call to JCE->allocateSpace(). >> This is a virtual function; I'm trying to discover what subclass it >> is. > > So, there's JITEmitter::allocateSpace which overrides > JITCodeEmitter::allocateSpace(), but *most* of the time it just calls > JITCodeEmitter::allocateSpace().  In particular, it does that if the > emitter is already emitting a function (BufferBegin will be non-null). >  If there is no current function, it asks the JITMemoryManager for > some space (JIT...
2009 Jul 16
0
[LLVMdev] [patch] CodeEmitter Memory Foot Reduction
...an control memory management in sub classes. class MachineCodeEmitter { public: .... inline void emitByte( uint8_t b) { if (freespace()) BufferPtr++ = b; else { extend(); BufferPtr++ = b; } } protected: void virtual extend() = 0 }; so extend is overriden in JITCodeEmitter and ObjectCodeEmitter and is called moving emitted code to a bigger buffer if we run out of memory, then emission continues. This gives the lowest overhead and flexability. If ObjectCodeEmitter and JITEmitter manage memory then the design is transparent to the higher levels of DOE and JIT. The...
2010 Jan 22
0
[LLVMdev] Exception handling question
...utionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70 > 9 lli 0x0000000000d62805 > llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613 > 10 lli 0x0000000000d60ac3 > llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&, > llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) + > 335 > ... > Thanks for looking at this. Yes, I realise this will link to bitcode and that the result is a script that runs lli. I kind of just expected JIT to work, particularly since the example code on the wiki uses JIT....
2010 Jan 22
2
[LLVMdev] Exception handling question
...terToGlobal(llvm::GlobalValue const*) + 70 >> 9 lli 0x0000000000d62805 >> llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613 >> 10 lli 0x0000000000d60ac3 >> llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&, >> llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) + >> 335 >> ... >> > Thanks for looking at this. > > Yes, I realise this will link to bitcode and that the result is a script > that runs lli. I kind of just expected JIT to work, particularly since the >...
2009 Jul 16
2
[LLVMdev] [patch] CodeEmitter Memory Foot Reduction
On Jul 16, 2009, at 10:04 AM, Aaron Gray wrote: > > I understand that you say that, but I can't bring myself to care at > this point. Have you thought about how many cycles are already used > to produce the instructions that lead to the emission of those 10K > bytes? The total percentage of time spent doing these virtual calls > will be tiny compared to the total
2013 Nov 14
2
[LLVMdev] (Very) small patch for the jit event listener
...mmits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu> Subject: (Very) small patch for the jit event listener Hi all, We have a small problem for vmkit. We rely on the JITEventListener to register the safepoints generated for the garbage collector, and for that purpose, we have to use the JITCodeEmitter (the MachineCodeEmitter) that was used to generate the MachineFunction in order to find the physical address of the safepoints (aka, the MCSymbols). A long time ago, it was not a problem as the JIT class was in the llvm interface, but today, the header is hidden inside the lib directory and not i...