Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 18 Apr 2014 22:30:03 +0000 (22:30 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 18 Apr 2014 22:30:03 +0000 (22:30 +0000)
commit036e26bc2930cb2a3d37bb3b84a4284085bfd072
tree06dd8540fffa0a98a9c5aa22e01726bd7f568318
parente0d2d7fb26a2dac464f6e245594176a2a7f1ccf7
Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)

This reverts commit r206628, reapplying r206622 (and r206626).

Two tests are failing only on buildbots [1][2]: i.e., I can't reproduce
on Darwin, and Chandler can't reproduce on Linux.  Asan and valgrind
don't tell us anything, but we're hoping the msan bot will catch it.

So, I'm applying this again to get more feedback from the bots.  I'll
leave it in long enough to trigger builds in at least the sanitizer
buildbots (it was failing for reasons unrelated to my commit last time
it was in), and hopefully a few others.... and then I expect to revert a
third time.

[1]: http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/1816
[2]: http://llvm-amd64.freebsd.your.org/b/builders/clang-i386-freebsd/builds/18445

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206666 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/llvm/Analysis/BlockFrequencyInfoImpl.h
lib/Analysis/BlockFrequencyInfo.cpp
lib/Analysis/BlockFrequencyInfoImpl.cpp [new file with mode: 0644]
lib/Analysis/CMakeLists.txt
lib/CodeGen/MachineBlockFrequencyInfo.cpp
test/Analysis/BlockFrequencyInfo/bad_input.ll [new file with mode: 0644]
test/Analysis/BlockFrequencyInfo/basic.ll
test/Analysis/BlockFrequencyInfo/double_exit.ll [new file with mode: 0644]
test/Analysis/BlockFrequencyInfo/irreducible.ll [new file with mode: 0644]
test/Analysis/BlockFrequencyInfo/loop_with_branch.ll [new file with mode: 0644]
test/Analysis/BlockFrequencyInfo/nested_loop_with_branches.ll [new file with mode: 0644]
test/CodeGen/XCore/llvm-intrinsics.ll