[PATCH] D79396: [BrachProbablityInfo] Set edge probabilities at once. NFC.

Yevgeny Rouban via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 13 09:10:57 PDT 2020


yrouban marked an inline comment as done.
yrouban added inline comments.


================
Comment at: llvm/lib/Analysis/BranchProbabilityInfo.cpp:995
+  assert(TotalNumerator <= BranchProbability::getDenominator() + Probs.size());
+  assert(TotalNumerator >= BranchProbability::getDenominator() - Probs.size());
+}
----------------
rnk wrote:
> rnk wrote:
> > This assert doesn't appear to hold:
> > https://ci.chromium.org/p/chrome/builders/ci/ToTWin/6284
> > Assertion failed: TotalNumerator >= BranchProbability::getDenominator() - Probs.size(), file C:\b\s\w\ir\cache\builder\src\third_party\llvm\llvm\lib\Analysis\BranchProbabilityInfo.cpp, line 995
> > 
> > I will gather more information.
> These are the relevant values:
> 
> TotalNumerator 2147483624
> BranchProbability::getDenominator() 2147483648
> Probs.size() 21
> 
> This is the IR switch:
> ```
>   switch i32 %0, label %sw.epilog.i [
>     i32 20, label %sw.bb20.i
>     i32 1, label %sw.bb1.i
>     i32 2, label %sw.bb2.i
>     i32 3, label %sw.bb3.i
>     i32 4, label %sw.bb4.i
>     i32 5, label %sw.bb5.i
>     i32 6, label %sw.bb6.i
>     i32 11, label %sw.bb7.i
>     i32 12, label %sw.bb8.i
>     i32 13, label %sw.bb9.i
>     i32 7, label %sw.bb10.i
>     i32 9, label %"?SkColorTypeToGrColorType@@YA?AW4GrColorType@@W4SkColorType@@@Z.exit"
>     i32 8, label %sw.bb12.i
>     i32 10, label %"?SkColorTypeToGrColorType@@YA?AW4GrColorType@@W4SkColorType@@@Z.exit"
>     i32 14, label %sw.bb14.i
>     i32 15, label %sw.bb15.i
>     i32 18, label %sw.bb16.i
>     i32 19, label %sw.bb17.i
>     i32 16, label %sw.bb18.i
>     i32 17, label %sw.bb19.i
>   ], !dbg !77, !prof !81
> ```
> I think it comes from this source construct:
> https://source.chromium.org/chromium/chromium/src/+/master:third_party/skia/include/private/GrTypesPriv.h;drc=2f11470d7ad8963a9add116df64d2edd1b85d3a4;l=869?originalUrl=https:%2F%2Fcs.chromium.org%2F
> Inlined into this function:
> https://source.chromium.org/chromium/chromium/src/+/master:third_party/skia/src/image/SkSurface_Gpu.cpp;l=342?q=MakeRenderTarget&ss=chromium&originalUrl=https:%2F%2Fcs.chromium.org%2F
> 
> I will revert for now, since this prevents us from seeing other ToT issues on PGO builders, but feel free to reland with a fix.
please give me the !prof branch_weights so I can reproduce.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79396





More information about the llvm-commits mailing list