[PATCH] D70104: [BPI] Improve unreachable/ColdCall heurstics to handle loops.
Serguei Katkov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 20 00:33:12 PST 2019
skatkov added a comment.
The implementation itself looks good to me.
I worry about tests whether fixes of the tests are expected.
If you have ready answers please let me know otherwise I'll try to dig into them deeply.
================
Comment at: llvm/lib/Analysis/BranchProbabilityInfo.cpp:159
+ if (TargetSet.insert(BB).second)
+ NewItems.insert(pred_begin(BB), pred_end(BB));
+ WorkList.insert(WorkList.end(), NewItems.begin(), NewItems.end());
----------------
Theoretically predecessor might be already marked in TargetSet so you could potentially filter the adding list of predecessors.
================
Comment at: llvm/test/CodeGen/X86/pr37916.ll:10
; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: .p2align 4, 0x90
; CHECK-NEXT: .LBB0_1: # %if.end
----------------
Why we lost this alignment?
================
Comment at: llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll:5
; This testing case is reduced from 254.gap SyFgets function.
; We make sure a spill is hoisted to a cold BB inside the hotter outer loop.
----------------
I have a trouble to detect whether the expected behavior of the test is still performed.
Did you ensured in it or just re-generated the expected output?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70104/new/
https://reviews.llvm.org/D70104
More information about the llvm-commits
mailing list