Go to file
Dehao Chen 769219b11a Revive http://reviews.llvm.org/D12778 to handle forward-hot-prob and backward-hot-prob consistently.
Summary:
Consider the following diamond CFG:

 A
/ \
B C
 \/
 D

Suppose A->B and A->C have probabilities 81% and 19%. In block-placement, A->B is called a hot edge and the final placement should be ABDC. However, the current implementation outputs ABCD. This is because when choosing the next block of B, it checks if Freq(C->D) > Freq(B->D) * 20%, which is true (if Freq(A) = 100, then Freq(B->D) = 81, Freq(C->D) = 19, and 19 > 81*20%=16.2). Actually, we should use 25% instead of 20% as the probability here, so that we have 19 < 81*25%=20.25, and the desired ABDC layout will be generated.

Reviewers: djasper, davidxl

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D20989

llvm-svn: 272203
2016-06-08 21:30:12 +00:00
clang [DebugInfo] Add calling conventions to DISubroutineType 2016-06-08 20:41:54 +00:00
clang-tools-extra clang-rename: implement renaming of classes inside dynamic_cast 2016-06-08 18:38:23 +00:00
compiler-rt [esan|wset] Reduce flakiness in samples test 2016-06-08 17:35:52 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Use single precision fmax in sp path 2016-05-17 19:44:01 +00:00
libcxx Mark 2441 as ready 2016-06-08 21:25:38 +00:00
libcxxabi Partially revert r270816: build with -fvisibility=hidden. 2016-06-02 08:14:28 +00:00
libunwind [libunwind] Remove unused code. 2016-06-03 20:57:48 +00:00
lld Move a function declaration to a header. 2016-06-08 14:35:22 +00:00
lldb Add a test for the failure described by pr28055. Mark it as xfail. 2016-06-08 19:06:00 +00:00
llgo [llgo] llgoi: separate evaluation from printing 2016-04-25 01:18:20 +00:00
llvm Revive http://reviews.llvm.org/D12778 to handle forward-hot-prob and backward-hot-prob consistently. 2016-06-08 21:30:12 +00:00
openmp Fine tuning of TC* macros - small followup 2016-06-01 09:59:26 +00:00
polly [NFC] "#include <ciso646>" is unnecessary, because "and", "or" were replaced 2016-06-08 16:44:11 +00:00