Add a test for movfs on x86.
Avoid changing sqrt(nan) into undefined.
Add a 'mono' calling convention which allows us to pass an argument in a non-abi register.
Allow intrinsics which throw exceptions. Allow them to be called using invoke.
Add mono.load/mono.store intrinsics which are the same as load/store, and
lowered to the same code, but can throw exceptions. This enables support for
load/store operations which throw implicit exceptions.
Add support for passing blockaddress-es as normal parameters in calls.
Add a workaround to the problem where the amd64 JIT would make all calls as register indirect.
Add a -mono suffix and the git revision to the output of llvm-config --version.
Add a --mono-api-version option to llvm-config which can be incremented every time llvm breaks public api. This allows mono to compile with different versions of LLVM.
Fix some conflicts between command line arguments and the arguments used to control passes, sometimes they are the same, which causes problems if both the optimization and the code generation passes are linked into the same executable.
Add support for Mono EH to the JIT and the static compiler. For the JIT, emit a variant of the C++ EH structures which contains extra information required by mono, i.e. the stack location of 'this'. For the static compiler, emit separate tables instead of the normal C++ tables. Add back parts of the LLVM JIT EH support code removed in r181354 and r181649.
Workaround some problems in the ARMConstantIsland pass.
Add a mono specific flag in the form of custom metadata, toh make it possible/easier for LLVM to hoist loads out of loops.
Use DWARF EH on ARM.
Disable a backend optimization which can fail on thumb.
Fix the usage of createDefCfa in the x86 backend, it should receive a negative offset.
Disable the emission of .macosx_version_min directives, clang 5.1 doesn't support it yet.
Revert "Move EmitDwarfAdvanceLineAddr and EmitDwarfAdvanceFrameAddr to the obj streamer."

This reverts commit fd51ead4494557f4dc4aeeb6bb0c799b140d65c0.

Revert this as DwarfMonoException.cpp depends on it.
Remove x27 from callee saved regs on arm64. Also remove x28 since it LLVM expects odd-even register pairs to exist.