[all-commits] [llvm/llvm-project] 760103: [PGO] Load branch uniformity profiles and mark ava...

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Mon Sep 21 21:36:08 PDT 2026


  Branch: refs/heads/users/yxsamliu/load-uniformity-profile
  Home:   https://github.com/llvm/llvm-project
  Commit: 760103188c6081b3bfd202d30210962375244129
      https://github.com/llvm/llvm-project/commit/760103188c6081b3bfd202d30210962375244129
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/unittests/Transforms/Instrumentation/PGOInstrumentationTest.cpp

  Log Message:
  -----------
  [PGO] Load branch uniformity profiles and mark availability

Uniformity profiles record block observations, but optimizations also
need information about branch decisions. A missing branch annotation
alone cannot tell them whether profile data is absent or no branches
are known to be uniform.

Mark functions when uniformity data is loaded and derive branch
annotations from blocks with a single conditional predecessor. Each
such block measures the lanes taking one outgoing edge. Mark a branch
as uniform only when all its instrumented outgoing edges are classified
as uniform, so one uniform edge cannot hide a divergent edge.

Replace existing branch annotations when loading the profile. This
clears an old uniform classification if the new data no longer supports
it. The function marker lets consumers use these results while keeping
their existing behavior when no uniformity profile is available.



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