diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-11-03 13:18:55 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-11-03 13:18:55 +0000 |
commit | cac28b452e4703ff7789b41476b1349d3894ad0d (patch) | |
tree | 74eff88282359e57e9c0dd57e7fbef0bd6ab9d51 /llvm/unittests/Analysis/ValueTrackingTest.cpp | |
parent | ddcb0e4498e61dc6b5151f5c137e0857148a3d4f (diff) | |
download | bcm5719-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.cpp | 3 |
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) { |