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...