Altough calling a function whith mismatching Calling Conventions (CC) is defined in the LangRef (as UB), it is a common source of code duplication to set it based on the called function (when it's known), or to forget setting it (which leads to the call being replaced by an undef later in the optimization pipeline).
This commit enforces a default behavior when creating a new CallInst or InvokeInst, as discussed in this thread:
http://lists.llvm.org/pipermail/llvm-dev/2017-November/119121.html