diff options
author | Jakub Staszak <jstaszak@apple.com> | 2011-07-27 18:57:40 +0000 |
---|---|---|
committer | Jakub Staszak <jstaszak@apple.com> | 2011-07-27 18:57:40 +0000 |
commit | 8a3d4c43b13c49de2fa5231f05e16c4f176d320d (patch) | |
tree | 71e9cc7d57b00c4221502bde7c74aafd6bc92b16 /llvm/unittests/Support/BlockFrequencyTest.cpp | |
parent | b2f3695e9aba23380b1556743f975ac6a0650af1 (diff) | |
download | bcm5719-llvm-8a3d4c43b13c49de2fa5231f05e16c4f176d320d.tar.gz bcm5719-llvm-8a3d4c43b13c49de2fa5231f05e16c4f176d320d.zip |
Add test cases for BlockFrequency.
llvm-svn: 136244
Diffstat (limited to 'llvm/unittests/Support/BlockFrequencyTest.cpp')
-rw-r--r-- | llvm/unittests/Support/BlockFrequencyTest.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/llvm/unittests/Support/BlockFrequencyTest.cpp b/llvm/unittests/Support/BlockFrequencyTest.cpp new file mode 100644 index 00000000000..edeea9b357f --- /dev/null +++ b/llvm/unittests/Support/BlockFrequencyTest.cpp @@ -0,0 +1,56 @@ +#include "llvm/Support/DataTypes.h" +#include "llvm/Support/BlockFrequency.h" +#include "llvm/Support/BranchProbability.h" + +#include "gtest/gtest.h" +#include <climits> + +using namespace llvm; + +namespace { + +TEST(BlockFrequencyTest, OneToZero) { + BlockFrequency Freq(1); + BranchProbability Prob(UINT32_MAX - 1, UINT32_MAX); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), 0u); +} + +TEST(BlockFrequencyTest, OneToOne) { + BlockFrequency Freq(1); + BranchProbability Prob(UINT32_MAX, UINT32_MAX); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), 1u); +} + +TEST(BlockFrequencyTest, ThreeToOne) { + BlockFrequency Freq(3); + BranchProbability Prob(3000000, 9000000); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), 1u); +} + +TEST(BlockFrequencyTest, MaxToHalfMax) { + BlockFrequency Freq(UINT64_MAX); + BranchProbability Prob(UINT32_MAX / 2, UINT32_MAX); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), 9223372034707292159LLu); +} + +TEST(BlockFrequencyTest, BigToBig) { + const uint64_t Big = 387246523487234346LL; + const uint32_t P = 123456789; + BlockFrequency Freq(Big); + BranchProbability Prob(P, P); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), Big); +} + +TEST(BlockFrequencyTest, MaxToMax) { + BlockFrequency Freq(UINT64_MAX); + BranchProbability Prob(UINT32_MAX, UINT32_MAX); + Freq *= Prob; + EXPECT_EQ(Freq.getFrequency(), UINT64_MAX); +} + +} |