search for: c20800

Displaying 2 results from an estimated 2 matches for "c20800".

Did you mean: 20800
2009 Feb 12
6
[LLVMdev] fastcc, tail calls, and gcc
...hat is (a) marked as fastcc (CallingConv::Fast); but (b) takes no arguments and returns 'void'? The function type is this: std::vector<const Type*> args; /* empty */ FunctionType *ft = FunctionType::get(Type::VoidTy, args, false); The fastcc generated code ends with this: c20800 ret $0x8 However, if I instead mark the very same function to use the usual CallingConv::C calling convention, then the generated code ends with this: c3 ret I assume the "ret 0x8" is meant to be the "callee pops args" portion of the fastcc convention, but in th...
2009 Feb 12
0
[LLVMdev] fastcc, tail calls, and gcc
...lated questions. > (2) Why does the x86-64 JIT backend generate a "ret $0x8" instruction > to return from a fastcc function that is (a) marked as fastcc > (CallingConv::Fast); but (b) takes no arguments and returns 'void'? fastcc generated code ends with this: > c20800 ret $0x8 > I assume the "ret 0x8" is meant to be the "callee pops args" portion > of the fastcc convention, but in this case the function has no > arguments (nor a return value), so why should 8 bytes be popped from > the stack on return? If i remember correctly th...