diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/unittests/Support/BlockFrequencyTest.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/unittests/Support/BlockFrequencyTest.cpp')
| -rw-r--r-- | gnu/llvm/unittests/Support/BlockFrequencyTest.cpp | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/gnu/llvm/unittests/Support/BlockFrequencyTest.cpp b/gnu/llvm/unittests/Support/BlockFrequencyTest.cpp deleted file mode 100644 index c1f5671815b..00000000000 --- a/gnu/llvm/unittests/Support/BlockFrequencyTest.cpp +++ /dev/null @@ -1,128 +0,0 @@ -//===- unittests/Support/BlockFrequencyTest.cpp - BlockFrequency tests ----===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/BlockFrequency.h" -#include "llvm/Support/BranchProbability.h" -#include "llvm/Support/DataTypes.h" -#include "gtest/gtest.h" -#include <climits> - -using namespace llvm; - -namespace { - -TEST(BlockFrequencyTest, OneToZero) { - BlockFrequency Freq(1); - BranchProbability Prob(UINT32_MAX / 3, UINT32_MAX); - Freq *= Prob; - EXPECT_EQ(Freq.getFrequency(), 0u); - - Freq = BlockFrequency(1); - 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); - - Freq = BlockFrequency(1); - Freq *= Prob; - EXPECT_EQ(Freq.getFrequency(), 1u); -} - -TEST(BlockFrequencyTest, ThreeToOne) { - BlockFrequency Freq(3); - BranchProbability Prob(3000000, 9000000); - Freq *= Prob; - EXPECT_EQ(Freq.getFrequency(), 1u); - - Freq = BlockFrequency(3); - 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(), 9223372036854775807ULL); - - Freq = BlockFrequency(UINT64_MAX); - Freq *= Prob; - EXPECT_EQ(Freq.getFrequency(), 9223372036854775807ULL); -} - -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); - - Freq = BlockFrequency(Big); - 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); - - // This additionally makes sure if we have a value equal to our saturating - // value, we do not signal saturation if the result equals said value, but - // saturating does not occur. - Freq = BlockFrequency(UINT64_MAX); - Freq *= Prob; - EXPECT_EQ(Freq.getFrequency(), UINT64_MAX); -} - -TEST(BlockFrequencyTest, Subtract) { - BlockFrequency Freq1(0), Freq2(1); - EXPECT_EQ((Freq1 - Freq2).getFrequency(), 0u); - EXPECT_EQ((Freq2 - Freq1).getFrequency(), 1u); -} - -TEST(BlockFrequency, Divide) { - BlockFrequency Freq(0x3333333333333333ULL); - Freq /= BranchProbability(1, 2); - EXPECT_EQ(Freq.getFrequency(), 0x6666666666666666ULL); -} - -TEST(BlockFrequencyTest, Saturate) { - BlockFrequency Freq(0x3333333333333333ULL); - Freq /= BranchProbability(100, 300); - EXPECT_EQ(Freq.getFrequency(), 0x9999999866666668ULL); - Freq /= BranchProbability(1, 2); - EXPECT_EQ(Freq.getFrequency(), UINT64_MAX); - - Freq = 0x1000000000000000ULL; - Freq /= BranchProbability(10000, 170000); - EXPECT_EQ(Freq.getFrequency(), UINT64_MAX); - - // Try to cheat the multiplication overflow check. - Freq = 0x00000001f0000001ull; - Freq /= BranchProbability(1000, 0xf000000f); - EXPECT_EQ(33527736066704712ULL, Freq.getFrequency()); -} - -TEST(BlockFrequencyTest, SaturatingRightShift) { - BlockFrequency Freq(0x10080ULL); - Freq >>= 2; - EXPECT_EQ(Freq.getFrequency(), 0x4020ULL); - Freq >>= 20; - EXPECT_EQ(Freq.getFrequency(), 0x1ULL); -} - -} |
