If you have been wondering why the verifier doesn't reject calls and callees with mismatched calling convs, any why the optimizer mercilessly deletes them, there is a new FAQ here: http://llvm.org/docs/FAQ.html#callconvwrong -Chris