[LLVMdev] How to represent __attribute__((fastcall)) functions in the IL

Renato Golin rengolin at systemcall.org
Sat Oct 20 10:37:48 PDT 2012


On 19 October 2012 17:00, Duncan Sands <baldrick at free.fr> wrote:
> That said, I also don't like the idea of filling the IR with tons of target
> specific stuff.

In this case, I think it's even worse than "aapcs" or "fastcall", that
are target dependent, but at a higher level.

Proposing at which register each variable will be, forces the
front-ends to know all about all targets LLVM supports (the register
names for x86_64 will be different than for x86, which will be
different than ARM, Thumb, MIPS, etc). Which is not just a
language/ABI issue, but hardware architecture one.

Having the PCSBuilder / PCS pass, would decouple the front-end of the
back-end, at least on PCS matters.

However, I agree with you that we should not have function signatures
that are different than their calls.

-- 
cheers,
--renato

http://systemcall.org/



More information about the llvm-dev mailing list