The calling convention can be specified by the user in IR. Failing to support a particular calling convention isn't a programming error, and so relying on llvm_unreachable to catch and report an unsupported calling convention is not appropriate.
This is a very trivial patch, but given the amount of discussion that has been generated by LLVM error handling in the past I thought it would be worth posting for comments first. In general, are people happy with this sort of cleanup? There are likely many more cases elsewhere in backends where llvm_unreachable should really be replaced by report_fatal_error, or potentially something more advanced.