search for: argsarestructreturn

Displaying 3 results from an estimated 3 matches for "argsarestructreturn".

2010 Mar 03
0
[LLVMdev] [PATCH] New calling convention for use by GHC
...4Bit); Seems like it could be simplified. Have you tested the Win64 support? It isn't clear why your patch needs to depend on the host ABI here. Also, does EHRet matter for your calling conv? 4) In X86ISelLowering.cpp: - if (!Is64Bit && CallConv != CallingConv::Fast && ArgsAreStructReturn(Ins)) + if (!Is64Bit && CallConv != CallingConv::Fast && + CallConv != CallingConv::GHC && ArgsAreStructReturn(Ins)) This should probably use !IsTailCallConvention(CallConv) instead of duplicating the two conventions assert(!(isVarArg && CallConv ==...
2010 Mar 07
1
[LLVMdev] [PATCH] New calling convention for use by GHC
...hanged so that it just returns no callee saves regardless of ABI. Also, I assume EH = Exception Handling? If so, no EHRet doesn't matter. The new patch takes this approach. > > > 4) In X86ISelLowering.cpp: > > - if (!Is64Bit&& CallConv != CallingConv::Fast&& ArgsAreStructReturn(Ins)) > + if (!Is64Bit&& CallConv != CallingConv::Fast&& > + CallConv != CallingConv::GHC&& ArgsAreStructReturn(Ins)) > > This should probably use !IsTailCallConvention(CallConv) instead of duplicating the two conventions > > assert(!(isVa...
2010 Mar 03
2
[LLVMdev] [PATCH] New calling convention for use by GHC
Hi all, As previously mentioned on this list the Haskell compiler GHC has a new LLVM based back-end. The back-end needs a new calling convention to efficiently use LLVM and that is what this patch does, just for X86 at the moment. Breakdown: 1) Need actual calling convention Touches: - include/llvm/CallingConv.h - lib/Target/X86/X86CallingConv.td 2) Handling new calling