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