[llvm] Use branch weight metadata in some cases. (mono/mono#16668)
authorZoltan Varga <vargaz@gmail.com>
Wed, 4 Sep 2019 22:17:07 +0000 (18:17 -0400)
committerGitHub <noreply@github.com>
Wed, 4 Sep 2019 22:17:07 +0000 (18:17 -0400)
commit5299ffcef253cb1547cf1bdff83d6e5ef6b5ce21
treec86da8759c183b30b134c4c22889fd38406b3611
parentd3c12f5dfcb2491c5af6ad75d3c5cb2d52d7c9b3
[llvm] Use branch weight metadata in some cases. (mono/mono#16668)

* [llvm] Add functions to create weighted branches.

* [llvm] Use weighted branches in GC_SAFE_POINT, some llvm passes doesn't seem to recognize llvm.expect so the LLVM JIT generates the slow inline.

Commit migrated from https://github.com/mono/mono/commit/db626fe9d370fb1f431667ae31a370b70275ef2b
src/mono/mono/mini/mini-llvm-cpp.cpp
src/mono/mono/mini/mini-llvm-cpp.h
src/mono/mono/mini/mini-llvm.c