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

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Fri Sep 11 07:16:12 PDT 2026


  Branch: refs/heads/users/yxsamliu/load-uniformity-profile
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b30e9690b5ff2524836150f227f3d0e2f8379d1
      https://github.com/llvm/llvm-project/commit/7b30e9690b5ff2524836150f227f3d0e2f8379d1
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-11 (Fri, 11 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