[LLVMdev] Backend calling convention: when pointer differs from integer

Pedro Malagón malagon at die.upm.es
Thu May 9 10:23:16 PDT 2013


Hi,

I am developing a backend for an architecture with two diferent sets of
registers.

The ABI specifies that pointer arguments use one kind of registers while
integers use the other one.
As LLVM translates pointers to the specified type (i32 in my case), I
cannot specify the correct calling convention.

I've seen that developing the TriCore backend the same issue appeared.
In TriCore backend document they mention they solved this issue by
annotating EVT, although no more detail is given and the backend is not
available
TriCore backend was developed in 2009, before LLVM2.6.
Is there support for this in newer LLVM versions?
Is there any example on how this was solved or any one faced this
problem later?
Can I use the CallingConvention.td or the compatibility is impossible?

Thanks,

Pedro Malagon

-- 
Pedro Malagón - Profesor ayudante
91 549 57 00 - ext. 4220
Departamento de Ingeniería Electrónica
Escuela Técnica Superior de Ingenieros de Telecomunicación
Universidad Politécnica de Madrid




More information about the llvm-dev mailing list