[llvm-dev] HiPE calling convention
Matthias Braun via llvm-dev
llvm-dev at lists.llvm.org
Fri Sep 29 10:42:36 PDT 2017
> On Sep 29, 2017, at 4:12 AM, denisgolovan via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> Hi all
> I saw presentation http://www.softlab.ntua.gr/~gtsiour/files/erllvm_pres-20111107.pdf
> and I have couple question to the HiPE calling convention. I am trying to enable HiPE call for Rust compiler.
> That presentation mentioned that:
> Virtual registers with “special” use, pinned to hardware registers
> VM Register AMD64 Register
> Native stack pointer %nsp
> Heap pointer %r15
> Process pointer %rbp
Calling conventions should be just that: conventions on how to perfrom calls, I hope we don't have code in LLVM that changes which registers are reserved based on the calling convention.
I assume they used a modified version of LLVM that also reserved those registers, at least I don't see any code in X86RegisterInfo::getReservedRegs() that would result in a heap or process pointer thing getting reserved.
More information about the llvm-dev