[PATCH] D21663: [MBP] Enhance cost based branch prob threshold computation to handle general control flows
Dehao Chen via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 23 19:52:14 PDT 2016
danielcdh added inline comments.
================
Comment at: lib/CodeGen/MachineBlockPlacement.cpp:610
@@ +609,3 @@
+ // (C) (D)
+ // (D) is a degenerated case of (C) where Pred1 does not exist. In (D),
+ // Let
----------------
You mean in (C), right?
================
Comment at: lib/CodeGen/MachineBlockPlacement.cpp:624
@@ +623,3 @@
+ // order for BB->Succ to be selected, we must have F1 > F2 + F3. So the
+ // backward probability threshold is (backward checking igores other
+ // predecessors other than Pred2):
----------------
This is a little confusing, I think the condition should be:
F1 > max(2*F3, F2)
So when checking Pred1, the backward threhold should be 0.66, when checking Pred2, the backward threshold should be 0.5?
But for the current implementation, I tried all testcase, and some other testcases with different triangle-diamond combination, and it always gives me optimal solution.
http://reviews.llvm.org/D21663
More information about the llvm-commits
mailing list