[all-commits] [llvm/llvm-project] 39eb1c: [CSSPGO][Preinliner] Set default value of sample-p...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Mon Feb 13 09:18:07 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 39eb1c6145eb3b2a0f1738b7122e0c65533b2505
      https://github.com/llvm/llvm-project/commit/39eb1c6145eb3b2a0f1738b7122e0c65533b2505
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M llvm/tools/llvm-profgen/CSPreInliner.cpp

  Log Message:
  -----------
  [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 50000.

The previous threshold 3000 is too small to enable any inlining for giant functions which come in with bigger size than that. In real world, I've seen a big hot function with 34000 dissasembly size. Motivated by that I'm changing the value to 50000.

With the new value the allowance size growth should still be reasonable, as it is also bounded by another threshold, i.e, --sample-profile-inline-growth-limit , which defaults to 12. The new value should mostly only affect giant functions.

I've seen for serveral internal services, the new threshold boosts performance, and it has neutral impact for other services without hot giant functions. So far I haven't seen any performance regression with that.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D143696




More information about the All-commits mailing list