[all-commits] [llvm/llvm-project] 592ed4: Add minimum count threshold for indirect call prom...

Snehasish Kumar via All-commits all-commits at lists.llvm.org
Thu Jun 26 10:25:30 PDT 2025


  Branch: refs/heads/users/snehasish/06-22-add_minimum_count_threshold_for_indirect_call_promotion
  Home:   https://github.com/llvm/llvm-project
  Commit: 592ed4be1d9a83f23a176f711ad5f482de49aa2e
      https://github.com/llvm/llvm-project/commit/592ed4be1d9a83f23a176f711ad5f482de49aa2e
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2025-06-26 (Thu, 26 Jun 2025)

  Changed paths:
    M llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
    M llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll

  Log Message:
  -----------
  Add minimum count threshold for indirect call promotion

This adds a new command-line option -icp-minimum-count-threshold to prevent
promotion of indirect call candidates with very low absolute counts, even
if they meet the percentage-based profitability thresholds.

Currently, candidates with counts as low as 1-2 calls can be promoted if
they represent a significant percentage of the call site. This can lead to
unprofitable micro-optimizations that increase code size without meaningful
performance benefits.

The new threshold defaults to 0 to maintain backward compatibility but can
be set to values like 5-20 for production use to filter out statistically
insignificant candidates.

Added comprehensive test coverage for the new threshold including negative
tests (blocking low-count promotions), positive tests (allowing high-count
promotions), and edge cases (threshold exactly at count value).


  Commit: 5b0b5ff58a53e2f7c3ee29bea39d536b80f95688
      https://github.com/llvm/llvm-project/commit/5b0b5ff58a53e2f7c3ee29bea39d536b80f95688
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2025-06-26 (Thu, 26 Jun 2025)

  Changed paths:
    M llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll

  Log Message:
  -----------
  Drop redundant test case, MIN-COUNT-BLOCK.


Compare: https://github.com/llvm/llvm-project/compare/cb1d8ec73d91...5b0b5ff58a53

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list