Merging part of 292188:
Merging part of 292188:

------------------------------------------------------------------------
r292188 | ab | 2017-01-16 22:10:02 -0500 (Mon, 16 Jan 2017) | 11 lines

[TLI] Add prototype checking for all remaining LibFuncs.

This is another step towards unifying all LibFunc prototype checks.
This work started in r267758 (D19469);  add the remaining checks.

Also add a unittest that checks each libfunc declared with a known-valid
and known-invalid prototype.  New libfuncs added in the future are
required to have prototype checking in place; the known-valid test will
fail otherwise.

Differential Revision: https://reviews.llvm.org/D28030
------------------------------------------------------------------------

This ports just the fix for the log1p LibFunc to fix a crash on
FreeBSD.  See PR32494 and PR32495.

git-svn-id: 27e84c199cfb3049f109a3001c965f4b97b0bded@303992 91177308-0d34-0410-b5e6-96231b3b80d8

apple/swift-llvm,apple/swift-llvm,apple/swift-llvm,apple/swift-llvm,apple/swift-llvm,apple/swift-llvm,apple/swift-llvm,apple/swift-llvm