[llvm-commits] Trampoline support (pointers nested funtions)

Duncan Sands baldrick at free.fr
Tue Aug 28 11:46:08 PDT 2007


Hi Evan, thanks for your comments.

> >> 3. In X86TargetLowering::LowerTRAMPOLINE():
> >> +    case CallingConv::X86_StdCall: {
> >> +      Move = 0xb9; // Pass chain in ECX
> >>
> >> I assume this is the ModR/M byte?
> >
> > Well, it's MOV32ri.
> 
> Then it should be 0xb8?

It already had ECX or'd in.

> Please factor out getX86RegNum() as well. Perhaps put them in  
> X86RegisterInfo.cpp (since lowering really shouldn't depend on  
> codeemitter...) Do getX86RegNum(X86::EAX) rather than make use  
> N86::EAX directly.
...
> Please go through X86InstrInfo to get the opcode numbers instead of  
> hard coding it.

Does the attached patch seem OK?

Ciao,

Duncan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tr.diff
Type: text/x-diff
Size: 11866 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070828/2fb237ac/attachment.diff>


More information about the llvm-commits mailing list