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
|