History log of /external/llvm/unittests/Support/BlockFrequencyTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
98872fd0fc5c254c644140d65efa4c455b60db87 16-Dec-2013 Bill Wendling <isanbard@gmail.com> Merging r195411:
------------------------------------------------------------------------
r195411 | mgottesman | 2013-11-21 21:00:51 -0800 (Thu, 21 Nov 2013) | 1 line

[block-freq] Update data in test case to be unsigned long long to fix mingw build.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@197363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
e7a1e3ee8279f12d0f2b49fb198d577949795c88 17-Nov-2013 Michael Gottesman <mgottesman@apple.com> [block-freq] Add BlockFrequency::scale that returns a remainder from the division and make the private scale in BlockFrequency more performant.

This change is the first in a series of changes improving LLVM's Block
Frequency propogation implementation to not lose probability mass in
branchy code when propogating block frequency information from a basic
block to its successors. This patch is a simple infrastructure
improvement that does not actually modify the block frequency
algorithm. The specific changes are:

1. Changes the division algorithm used when scaling block frequencies by
branch probabilities to a short division algorithm. This gives us the
remainder for free as well as provides a nice speed boost. When I
benched the old routine and the new routine on a Sandy Bridge iMac with
disabled turbo mode performing 8192 iterations on an array of length
32768, I saw ~600% increase in speed in mean/median performance.

2. Exposes a scale method that returns a remainder. This is important so
we can ensure that when we scale a block frequency by some branch
probability BP = N/D, the remainder from the division by D can be
retrieved and propagated to other children to ensure no probability mass
is lost (more to come on this).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
5d3257e37ced7dd75023bb9c4619f297374f61d6 28-Jun-2013 Jakob Stoklund Olesen <stoklund@2pi.dk> Fix a bad overflow check pointed out by Ben.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
d7648ff20f8bbc8217a26576ca96addc55e003de 28-Jun-2013 Jakob Stoklund Olesen <stoklund@2pi.dk> Add a division operator to BlockFrequency.

Allow a BlockFrequency to be divided by a non-zero BranchProbability
with saturating arithmetic. This will be used to compute the frequency
of a loop header given the probability of leaving the loop.

Our long division algorithm already saturates on overflow, so that was a
freebie.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
b47aceaf068352eebf4da87a647363b2317f0f22 21-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> Revert "BlockFrequency: Saturate at 1 instead of 0 when multiplying a frequency with a branch probability."

This reverts commit r184584. Breaks PPC selfhost.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
93702a3b0754052d926c75082abf7ca156b80c45 21-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> BlockFrequency: Saturate at 1 instead of 0 when multiplying a frequency with a branch probability.

Zero is used by BlockFrequencyInfo as a special "don't know" value. It also
causes a sink for frequencies as you can't ever get off a zero frequency with
more multiplies.

This recovers a 10% regression on MultiSource/Benchmarks/7zip. A zero frequency
was propagated into an inner loop causing excessive spilling.

PR16402.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
5a88dda4be791426ab4d20a6a6c9c65d66614a27 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for unittest/...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
3b6752eec5c588a10d1109e4f907f024cece4074 17-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> For reasons I can't fathom MSVC supports ULL but not LLU suffixes on long long integer literals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
13b10731abfc006fce790c5c8205cd24c7d67de8 24-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Implement comparison operators for BranchProbability in a way that can't overflow INT64_MAX.

Add a test case for the edge case that triggers this. Thanks to Chandler for bringing this to my attention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
341473c86d19cad5f3be432533ecdb42d9e07044 23-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Add compare operators to BranchProbability and use it to determine if an edge is hot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp
0031b4f74e4dd944720f896843e05598b7de2fee 27-Jul-2011 Jakub Staszak <jstaszak@apple.com> Add test cases for BlockFrequency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/unittests/Support/BlockFrequencyTest.cpp