summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Analysis/ValueTrackingTest.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-11-03 13:18:55 +0000
committerSanjay Patel <spatel@rotateright.com>2018-11-03 13:18:55 +0000
commitcac28b452e4703ff7789b41476b1349d3894ad0d (patch)
tree74eff88282359e57e9c0dd57e7fbef0bd6ab9d51 /llvm/unittests/Analysis/ValueTrackingTest.cpp
parentddcb0e4498e61dc6b5151f5c137e0857148a3d4f (diff)
downloadbcm5719-llvm-cac28b452e4703ff7789b41476b1349d3894ad0d.tar.gz
bcm5719-llvm-cac28b452e4703ff7789b41476b1349d3894ad0d.zip
[ValueTracking] peek through 2-input shuffles in ComputeNumSignBits
This patch gives the IR ComputeNumSignBits the same functionality as the DAG version (the code is derived from the existing code). This an extension of the single input shuffle analysis added with D53659. Differential Revision: https://reviews.llvm.org/D53987 llvm-svn: 346071
Diffstat (limited to 'llvm/unittests/Analysis/ValueTrackingTest.cpp')
-rw-r--r--llvm/unittests/Analysis/ValueTrackingTest.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/unittests/Analysis/ValueTrackingTest.cpp b/llvm/unittests/Analysis/ValueTrackingTest.cpp
index e66d8f77fd4..b13948adad7 100644
--- a/llvm/unittests/Analysis/ValueTrackingTest.cpp
+++ b/llvm/unittests/Analysis/ValueTrackingTest.cpp
@@ -514,7 +514,6 @@ TEST(ValueTracking, ComputeNumSignBits_Shuffle) {
EXPECT_EQ(ComputeNumSignBits(RVal, M->getDataLayout()), 1u);
}
-// FIXME:
// No guarantees for canonical IR in this analysis, so a shuffle element that
// references an undef value means this can't return any extra information.
TEST(ValueTracking, ComputeNumSignBits_Shuffle2) {
@@ -534,7 +533,7 @@ TEST(ValueTracking, ComputeNumSignBits_Shuffle2) {
auto *RVal =
cast<ReturnInst>(F->getEntryBlock().getTerminator())->getOperand(0);
- EXPECT_EQ(ComputeNumSignBits(RVal, M->getDataLayout()), 32u);
+ EXPECT_EQ(ComputeNumSignBits(RVal, M->getDataLayout()), 1u);
}
TEST(ValueTracking, ComputeKnownBits) {
OpenPOWER on IntegriCloud