[LLVMdev] [PATCH] New calling convention for use by GHC
David Terei
davidterei at gmail.com
Tue Mar 2 17:33:06 PST 2010
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 convention (including allowing it to be used in
tail call optimisation).
Touches:
- lib/Target/X86/X86ISelLowering.cpp
- lib/Target/X86/X86FastISel.cpp
3) New calling convention needs different callee save register list.
Touches:
- lib/Target/X86/X86RegisterInfo.cpp
The GHC developers would love to get this included in LLVM so that we
don't need to carry around our own version of LLVM. If this patch isn't
something that you would want to include in LLVM can you suggest an
alternative way to do this that you would consider including?
Cheers,
David
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: llvm-ghc-callconv.patch
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100303/5ef61ebc/attachment.ksh>
More information about the llvm-dev
mailing list