X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=unittests%2FSupport%2FBranchProbabilityTest.cpp;h=847661d21b38169a9790f15a4bc5a557e01ff7e0;hp=37a5c3f0dc877a1b740aaeb3e3a7a22019dc488e;hb=08224c0a7e6b26af0d918bb1a1a280f54cf23208;hpb=cbfe4141892818d4bcd17558840ce1375ed5bc9d;ds=inline diff --git a/unittests/Support/BranchProbabilityTest.cpp b/unittests/Support/BranchProbabilityTest.cpp index 37a5c3f0dc8..847661d21b3 100644 --- a/unittests/Support/BranchProbabilityTest.cpp +++ b/unittests/Support/BranchProbabilityTest.cpp @@ -287,44 +287,40 @@ TEST(BranchProbabilityTest, scaleBruteForce) { } } -TEST(BranchProbabilityTest, NormalizeEdgeWeights) { +TEST(BranchProbabilityTest, NormalizeProbabilities) { { - SmallVector Weights{0, 0}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(1u, Weights[0]); - EXPECT_EQ(1u, Weights[1]); + SmallVector Probs{{0, 1}, {0, 1}}; + BranchProbability::normalizeProbabilities(Probs.begin(), Probs.end()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[0].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[1].getNumerator()); } { - SmallVector Weights{0, UINT32_MAX}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(1u, Weights[0]); - EXPECT_EQ(UINT32_MAX - 1u, Weights[1]); + SmallVector Probs{{0, 1}, {1, 1}}; + BranchProbability::normalizeProbabilities(Probs.begin(), Probs.end()); + EXPECT_EQ(0u, Probs[0].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator(), Probs[1].getNumerator()); } { - SmallVector Weights{1, UINT32_MAX}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(1u, Weights[0]); - EXPECT_EQ(UINT32_MAX - 1u, Weights[1]); + SmallVector Probs{{1, 100}, {1, 100}}; + BranchProbability::normalizeProbabilities(Probs.begin(), Probs.end()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[0].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[1].getNumerator()); } { - SmallVector Weights{0, 0, UINT32_MAX}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(1u, Weights[0]); - EXPECT_EQ(1u, Weights[1]); - EXPECT_EQ(UINT32_MAX / 2u, Weights[2]); + SmallVector Probs{{1, 1}, {1, 1}}; + BranchProbability::normalizeProbabilities(Probs.begin(), Probs.end()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[0].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator() / 2, Probs[1].getNumerator()); } { - SmallVector Weights{UINT32_MAX, UINT32_MAX}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(UINT32_MAX / 3u, Weights[0]); - EXPECT_EQ(UINT32_MAX / 3u, Weights[1]); - } - { - SmallVector Weights{UINT32_MAX, UINT32_MAX, UINT32_MAX}; - BranchProbability::normalizeEdgeWeights(Weights.begin(), Weights.end()); - EXPECT_EQ(UINT32_MAX / 4u, Weights[0]); - EXPECT_EQ(UINT32_MAX / 4u, Weights[1]); - EXPECT_EQ(UINT32_MAX / 4u, Weights[2]); + SmallVector Probs{{1, 1}, {1, 1}, {1, 1}}; + BranchProbability::normalizeProbabilities(Probs.begin(), Probs.end()); + EXPECT_EQ(BranchProbability::getDenominator() / 3 + 1, + Probs[0].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator() / 3 + 1, + Probs[1].getNumerator()); + EXPECT_EQ(BranchProbability::getDenominator() / 3 + 1, + Probs[2].getNumerator()); } }