Go to file
Kyle Butt 02d8d054ab Codegen: MachineBlockPlacement Improve probability layout.
The following pattern was being layed out poorly:

              A
             / \
            B   C
           / \ / \
          D   E   ? (Doesn't matter)

Where A->B is far more likely than A->C, and prob(B->D) = prob(B->E)

The current algorithm gives:
A,B,C,E (D goes on worklist)

It does this even if C has a frequency count of 0. This patch
adjusts the layout calculation so that if freq(B->E) >> freq(C->E)
then we go ahead and layout E rather than C. Fallthrough half the time
is better than fallthrough never, or fallthrough very rarely. The
resulting layout is:

A,B,E, (C and D are in a worklist)

llvm-svn: 277187
2016-07-29 18:09:28 +00:00
clang [OpenCL] Add extension cl_khr_mipmap_image to clang 2016-07-29 17:52:34 +00:00
clang-tools-extra [clang-rename] speedup RenamingAction 2016-07-29 10:16:45 +00:00
compiler-rt tsan: Enable 48-bit VMA support on aarch64 2016-07-29 12:45:35 +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 Make min follow the OCL 1.0 specs 2016-07-25 22:36:22 +00:00
libcxx Add a bunch of noexcepts to char_traits and string_view. 2016-07-28 04:52:02 +00:00
libcxxabi Attempt to bring peace to -Werror buildbots. 2016-07-19 20:35:09 +00:00
libunwind [libunwind][ARM] Add support for Thumb1 targets 2016-07-25 09:21:56 +00:00
lld Matching change needed to lld for llvm trunk change r277177. 2016-07-29 17:56:00 +00:00
lldb Some code that is sanity checking stepping out back out from one inlined 2016-07-29 18:09:12 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm Codegen: MachineBlockPlacement Improve probability layout. 2016-07-29 18:09:28 +00:00
openmp Replace enum types in variadic functions by build-in types. 2016-07-22 16:05:35 +00:00
parallel-libs Add .clang-format to parallel-libs 2016-07-20 17:49:55 +00:00
polly Add missing REQUIRES line 2016-07-28 07:08:34 +00:00