[PATCH] D131592: [SampleProfile] Fix non-determinism in promoteMergeNotInlinedContextSamples()

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 10 11:10:55 PDT 2022


aeubanks added a comment.

In D131592#3713568 <https://reviews.llvm.org/D131592#3713568>, @hoy wrote:

> What kind of non-determinism are you seeing? Is the transformed IR not deterministic?
>
> The `promoteMergeNotInlinedContextSamples` function basically merges the profile of a non-inlined callee function that is nested in its caller's profile into the callee function's own top-level outlined profile. When there aren't multiple callsites to the same callee, the order shouldn't matter. When there are, the merge operation basically does accumulation, and I don't see how the merging order matters either.

Some branch_weights are slightly different across multiple runs of `./build/rel/bin/opt -passes=sample-profile -S reduced.ll -sample-profile-file ~/tmp/default.cs.xfdo -pgo-kind pgo-sample-use-pipeline -use-profiled-call-graph=false`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131592/new/

https://reviews.llvm.org/D131592



More information about the llvm-commits mailing list