search for: instselectsimpl

Displaying 8 results from an estimated 8 matches for "instselectsimpl".

Did you mean: instselectsimple
2004 Jun 04
2
[LLVMdev] Some backend questions
...Why SSARegMap is called this way. As far as I can see, it's does not implement any mapping, it simply allocates registers given a register class. 3. Maybe, the allocation of virtual registers for Value* should be made more reusable. The X86 backend has the code for that in getReg method in InstSelectSimple.cpp which: - uses SSARegMap instance - keeps internal Value* -> register mapping - copies constants into register when needed At least first two things will be necessary for my backend too. I start to wonder if it makes sense to make a "BasicInstructionSelector" which will...
2004 Jun 17
0
[LLVMdev] Getelementptr woes
...omething else I would not recommend. The X86 "simple" instruction selector is not really simple anymore, so it's not a good model to follow for how to emit GEP instructions in a straight-forward way. Try taking a look at the emitGEPOperation method (line 3211) of revision 175 of X86/InstSelectSimple.cpp though. This version is from before the various address optimizations were implemented. Here's a direct link: http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/lib/Target/X86/InstSelectSimple.cpp?rev=1.175 To expand out a getelementptr into code it basically just walks through the indices...
2004 Jun 04
0
[LLVMdev] Some backend questions
...of getting: R2 = add R1, 17 You'll get: R3 = mov 17 R2 = add R2, R3 IOW, the code will work fine, but will be ugly and slow. As the second step, when the selector is basically working, you can add cases to handle these. Taken to a limit you'll get something as complex as the X86 InstSelectSimple (which as someone mentioned, is not really simple anymore). > 2. Why SSARegMap is called this way. As far as I can see, it's does not > implement any mapping, it simply allocates registers given a register class. You're right, it currently just keeps track of the register class for...
2004 Jun 17
2
[LLVMdev] Getelementptr woes
Hello, I'm having problems with the following LLVM instruction %tmp.0.i = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([11 x sbyte]* %.str_1, long 0, ...... The first argument in function call, sbyte* getelementptr ([11 x sbyte]* %.str_1..... appears to be ConstantExpression*, and my backend does not support ConstantExpression yet. I probable can implement
2004 May 28
1
[LLVMdev] Wish to extend the LLVM intermediate representation with prefetch support
Hi LLVM Developers I would like to extend the LLVM intermediate representation with support for platform-independent prefetch support, if this project isn't assigned to someone. /Henrik _________________________________________________________________ F� alle de nye og sjove ikoner med MSN Messenger http://www.msn.dk/messenger
2004 Jun 15
0
[LLVMdev] Wish to extend the LLVM intermediate representation with prefetch support
...We should probably shamelessly borrow their interface: http://gcc.gnu.org/projects/prefetch.html I would recommend adding prefetch support to one of the backends, for example the X86 backend. To see how intrinsics are handled by the code generators, search for Intrinsic::memcpy in lib/Target/X86/InstSelectSimple.cpp. As always, if you have any questions, please let us know! *** Our department is currently blocking CVS access due to a remote root exploit recently discovered. This will hopefully be resolved soon though. -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/ ______...
2004 Jun 18
1
[LLVMdev] Getelementptr woes
...d not recommend. The X86 "simple" > instruction selector is not really simple anymore, so it's not a good > model to follow for how to emit GEP instructions in a straight-forward > way. Try taking a look at the emitGEPOperation method (line 3211) of > revision 175 of X86/InstSelectSimple.cpp though. This version is from > before the various address optimizations were implemented. Here's a > direct link: > http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/lib/Target/X86/InstSelectSim >ple.cpp?rev=1.175 > > To expand out a getelementptr into code it basically ju...
2004 Jun 07
2
[LLVMdev] Some backend questions
...ch machine > instruction defines each virtual register as well, at which point it will > live up to its name. :) Ok. > > 3. Maybe, the allocation of virtual registers for Value* should be made > > more reusable. The X86 backend has the code for that in getReg method in > > InstSelectSimple.cpp which: > > > > - uses SSARegMap instance > > - keeps internal Value* -> register mapping > > - copies constants into register when needed > > > > At least first two things will be necessary for my backend too. I start > > to wonder if it ma...