search for: emitbasicblock

Displaying 9 results from an estimated 9 matches for "emitbasicblock".

2008 Jun 27
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...bel}_exit", > [(PPCcmp_unres GPRC:$rA, GPRC:$rB, imm: > $label)]>; > } > > ...and I can't figure out the syntax for that. Any suggestions? Hi Gary, You have to write custom encoding logic in C++ for this. This should go in PPCCodeEmitter::emitBasicBlock. I admit this isn't very elegant. A better solution would be to fix the lowering to produce two instructions instead of this pseudo instruction. -Chris
2008 Jun 27
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Hi all, I'm trying to figure out how to add the instructions required for llvm.atomic.cmp.swap.i32 on PowerPC. I figured out LWARX (patch attached) but the other two (CMP_UNRESw and STWCX) require multiple instructions: let Defs = [CR0] in { def STWCX : Pseudo<(outs), (ins GPRC:$rS, memrr:$dst, i32imm:$label), "stwcx. $rS, $dst\n\tbne-
2006 Apr 13
1
[LLVMdev] standalone llvm
...r::getConstantPoolEntryAddress(unsigned int)+0x0)[0x88ef650] llc((anonymous namespace)::Emitter::emitGlobalAddressForPtr(llvm::GlobalValue*, int)+0x77)[0x866ac5d] llc((anonymous namespace)::Emitter::emitInstruction(llvm::MachineInstr const&)+0xc0b)[0x866c1b1] llc((anonymous namespace)::Emitter::emitBasicBlock(llvm::MachineBasicBlock const&)+0xac)[0x866a9f8] llc((anonymous namespace)::Emitter::runOnMachineFunction(llvm::MachineFunction&)+0x115)[0x866a859] llc(llvm::MachineFunctionPass::runOnFunction(llvm::Function&)+0x29)[0x85f3421] llc(llvm::FunctionPassManagerT::runPass(llvm::FunctionPass*,...
2006 Apr 13
0
[LLVMdev] standalone llvm
On Apr 12, 2006, at 10:23 PM, Simon Burton wrote: > > Is it possible to get llvm to generate native machine code > without using gcc and friends ? Do I use lli ? llc. llc --help lists all the options. it compiles llvm bytecode files. > > I'd like to directly create executable code that i can > stick in memory somewhere and jump into (call). > > (I'm looking
2004 Aug 19
0
[LLVMdev] How could I get memory address for each basic block?
I'd be interested to hear how that's being done - if Brian would reply to the list about it, I'd appreciate it. -mike On Aug 19, 2004, at 3:39 PM, Vikram S. Adve wrote: > Qiuyu, > > The dynamic optimization project (an internal research project in our > group) uses some way to map LLVM basic blocks to native code > addresses. If this is what you want, perhaps you
2006 Apr 13
4
[LLVMdev] standalone llvm
Is it possible to get llvm to generate native machine code without using gcc and friends ? Do I use lli ? I'd like to directly create executable code that i can stick in memory somewhere and jump into (call). (I'm looking to use llvm in a BSD licensed project). Simon. -- Simon Burton, B.Sc. Licensed PO Box 8066 ANU Canberra 2601 Australia Ph. 61 02 6249 6940 http://arrowtheory.com
2004 Aug 19
3
[LLVMdev] How could I get memory address for each basic block?
Qiuyu, The dynamic optimization project (an internal research project in our group) uses some way to map LLVM basic blocks to native code addresses. If this is what you want, perhaps you can ask Brian Gaeke (gaeke at uiuc.edu) to give you some information about how that is done. --Vikram http://www.cs.uiuc.edu/~vadve http://llvm.cs.uiuc.edu/ On Aug 19, 2004, at 5:11 PM, Misha Brukman
2008 Jun 30
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...[(PPCcmp_unres GPRC:$rA, GPRC:$rB, imm: > > $label)]>; > > } > > > > ...and I can't figure out the syntax for that. Any suggestions? > > You have to write custom encoding logic in C++ for this. This > should go in PPCCodeEmitter::emitBasicBlock. I admit this isn't > very elegant. A better solution would be to fix the lowering to > produce two instructions instead of this pseudo instruction. Hi Chris, I'd prefer to fix the lowering if possible; the pseudo instructions are only used in three places, so it shouldn't be...
2008 Jun 30
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...[(PPCcmp_unres GPRC:$rA, GPRC:$rB, imm: >>> $label)]>; >>> } >>> >>> ...and I can't figure out the syntax for that. Any suggestions? >> >> You have to write custom encoding logic in C++ for this. This >> should go in PPCCodeEmitter::emitBasicBlock. I admit this isn't >> very elegant. A better solution would be to fix the lowering to >> produce two instructions instead of this pseudo instruction. > > Hi Chris, > > I'd prefer to fix the lowering if possible; the pseudo instructions > are only used in three...