[all-commits] [llvm/llvm-project] b05004: [PGO] Load branch uniformity profiles and mark ava...
Yaxun (Sam) Liu via All-commits
all-commits at lists.llvm.org
Mon Sep 7 20:51:55 PDT 2026
Branch: refs/heads/users/yxsamliu/load-uniformity-profile
Home: https://github.com/llvm/llvm-project
Commit: b05004ce0aa09c6b0ddf952288bbbc544b1f25b2
https://github.com/llvm/llvm-project/commit/b05004ce0aa09c6b0ddf952288bbbc544b1f25b2
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-09-07 (Mon, 07 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