Llvm optimizations (#16191)
commit870aec4aadfd8b523b62070137643b0cc3a97399
authorZoltan Varga <vargaz@gmail.com>
Thu, 15 Aug 2019 19:46:00 +0000 (15 15:46 -0400)
committerMarek Safar <marek.safar@gmail.com>
Thu, 15 Aug 2019 19:46:00 +0000 (15 21:46 +0200)
treeca3ac4ed80ba7e5d3810cef770657170810729a0
parent133bdb5fa28aa292bc004087997c4331bb3f63f4
Llvm optimizations (#16191)

* [jit] Disable inlining for ThrowHelper methods for non-netcore as well. Add an OP_NOT_REACHED after calls to these methods to let LLVM know they don't return.

* [llvm] Use the cold calling convention instead of the preserveall one, it has the same effect and its better supported.

* [llvm] Call the aot init function using the cold cconv.

* [llvm] Make the condition in the poll function unlikely.

* [llvm] Add a wrapper around the GC poll icall so it can be called with a cold calling convention.

* Move the noreturn check before the code which is shared with calli.
mono/mini/method-to-ir.c
mono/mini/mini-llvm-cpp.cpp
mono/mini/mini-llvm-cpp.h
mono/mini/mini-llvm.c