Bad Instruction 4 with fastcc

On OSX I thought I’d try to optimize my compiler a bit by switching some of the calling conventions from CCallingConv to FastCC. The compiler ran fine, but when I executed the code, I got “Bad Instruction 4”. I’m seeing some other mentions on this mailing list of issues like this on OSX (I’m using 10.8). Is there anything I need to change to enable fastcc with my compiler? I also tried the X86FastCCCallingConv and that died with the same error.



fastcc isn't a stable ABI and you shouldn't use it for external symbols,
unless you're certain that those symbols will be linked to a module built
with the exact same version of the exact same compiler binary with the
exact same build flags and exact same LLVM passes and the exact same…don't
do it. There are optimizer passes that will automatically promote internal
symbols to 'fastcc' when it's safe to do so. If you only extern symbols
that actually need external linkage, then the calling convention becomes
the optimizer's problem.


Hi Timothy,