[fpc-devel] The 15k bounty: Optimizing executable speed for Linux x86 / LLVM

Simon Kissel simon.kissel at nerdherrschaft.com
Sun Oct 28 13:04:06 CET 2018


Hi Sven,

> Borland's Fastcall is more famously known as the Register calling
> convention aka the default calling convention in Object Pascal. As
> you admitted in your mail further down you have quite some assembly
> code and as such you rely on the calling convention for parameter
> passing. Here register differs significantly from cdecl or stdcall.
> Thus not supporting the calling convention *will break* your code. 

My expectations are not that no (low-level library) code may be broken.
There are much bigger IFDEF hells than adapting assembler code
boiler plates to handle other calling conventions.

Just throwing a compiler error if an assembler procedure is not
decorated with a calling convention supported by the LLVM branch
would be just fine to me.

Simon




More information about the fpc-devel mailing list