[PATCH] D148237: [BPI] Add method to swap outgoing edges probabilities
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 13 22:15:44 PDT 2023
mkazantsev added inline comments.
================
Comment at: llvm/lib/Analysis/BranchProbabilityInfo.cpp:1184
+ std::swap(Probs[std::make_pair(Src, 0)], Probs[std::make_pair(Src, 1)]);
+}
+
----------------
mkazantsev wrote:
> Why do you need this, exactly? I see that `swapSuccessors` is already updating the metadata:
> ```
> void BranchInst::swapSuccessors() {
> assert(isConditional() &&
> "Cannot swap successors of an unconditional branch");
> Op<-1>().swap(Op<-2>());
>
> // Update profile metadata if present and it matches our structural
> // expectations.
> swapProfMetadata();
> }
> ```
> Is analysis returning invalid result after that?
Yeah, seems it doesn't. Why don't we just add BPI an optional parameter to `swapSuccessors` and make this update there in this case?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148237/new/
https://reviews.llvm.org/D148237
More information about the llvm-commits
mailing list