[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