[llvm-commits] [patch] Erlang/HiPE calling convention
Duncan Sands
baldrick at free.fr
Fri Nov 2 06:01:18 PDT 2012
Hi Yiannis,
> On 11/02/2012 06:50 AM, Chris Lattner wrote:
>> On Oct 24, 2012, at 1:51 AM, Yiannis Tsiouris<gtsiour at softlab.ntua.gr> wrote:
>>> The attached patch implements the High Performance Erlang (HiPE) calling
>>> convention and is the first of a total of three patches that allow the
>>> use of LLVM as a backend for the native code compiler of Erlang.
>>>
>>> This has been discussed in the past but I 'm resending everything as
>>> this may been forgotten or lost. Does this look OK?
>> Looks fine to me, but this also needs a patch to docs/LangRef.html to describe
>> what this is.
> Thanks, Chris! :-)
>
> Re-attaching with updated Docs (LangRef.html and CodeGenerator.rst). If
> everything is OK please somebody commit it for me as I don't have commit access.
> :-)
can you please add some tests checking that indirect calls work properly. Also,
I noticed the following typo:
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
...
@@ -3092,6 +3093,10 @@ bool X86::isCalleePop(CallingConv::ID CallingConv,
return TailCallOpt;
case CallingConv::GHC:
return TailCallOpt;
+ case CallingConv::HiPE:
+ // TailCallOpt doesn't fit our case because Erlang/OTP X86/AMD64 ABI cleary
cleary -> clearly
+ // specifies that callee *always* pops the arguments.
+ return true;
}
}
Ciao, Duncan.
More information about the llvm-commits
mailing list