[PATCH] D147544: [BOLT] Move from RuntimeDyld to JITLink

Job Noorman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 18 08:20:34 PDT 2023


jobnoorman added a comment.

In D147544#4348350 <https://reviews.llvm.org/D147544#4348350>, @rafauler wrote:

> Second issue is a large regression in wall time when running with assertions enabled. Running BOLT with -time-rewrite option and optimizing clang itself, we have:
>
> Original BOLT:
>
>    ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
>   33.3125 ( 32.0%)   0.2820 (  0.4%)  33.5946 ( 18.9%)  33.5972 ( 51.4%)  emit and link
>
> BOLT with JITLink:
>
>    ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
>   134.1916 ( 64.9%)   0.1047 (  0.1%)  134.2963 ( 47.2%)  134.3034 ( 79.6%)  emit and link
>
> We run BOLT with assertions and they're usually not _that_ expensive.

I traced to performance issue to one particularly expensive assert <https://github.com/llvm/llvm-project/blob/9c8c31eea439253f3addf9e25fb9a242c77c9587/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h#L1195-L1199> in JITLink.

I posted D150874 <https://reviews.llvm.org/D150874> to propose a solution but since it adds complexity just to improve the performance of an `assert`, I'm not quite sure if that will get accepted.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D147544/new/

https://reviews.llvm.org/D147544



More information about the llvm-commits mailing list