[llvm] [SimplifyCFG] Set branch weights when merging conditional store to address (PR #154841)
Joel E. Denny via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 10 09:05:37 PDT 2025
================
@@ -190,5 +191,31 @@ LLVM_ABI bool hasExplicitlyUnknownBranchWeights(const Instruction &I);
/// Scaling the profile data attached to 'I' using the ratio of S/T.
LLVM_ABI void scaleProfData(Instruction &I, uint64_t S, uint64_t T);
+/// get the branch weights of a branch conditioned on b1 | b2, where b1 and b2
+/// are 2 booleans that are the condition of 2 branches for which we have the
+/// branch weights B1 and B2, respectivelly.
+inline SmallVector<uint64_t, 2>
+getDisjunctionWeights(const SmallVector<uint32_t, 2> &B1,
+ const SmallVector<uint32_t, 2> &B2) {
+ // for the first conditional branch, the probability the "true" case is taken
+ // is p(b1) = B1[0] / (B1[0] + B2[0]). The "false" case's probability is
----------------
jdenny-ornl wrote:
```suggestion
// is p(b1) = B1[0] / (B1[0] + B1[1]). The "false" case's probability is
```
https://github.com/llvm/llvm-project/pull/154841
More information about the llvm-commits
mailing list