Skip to content

Commit ef66e3d

Browse files
committed
Fix ValueTrackingTest.cpp to use pair instead of tuple
1 parent 8b354cc commit ef66e3d

File tree

1 file changed

+51
-51
lines changed

1 file changed

+51
-51
lines changed

llvm/unittests/Analysis/ValueTrackingTest.cpp

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -729,64 +729,64 @@ TEST(ValueTracking, canCreatePoisonOrUndef) {
729729
"<4 x i32> %vx, <4 x i32> %vx2, <vscale x 4 x i32> %svx, i8* %p) {\n";
730730
std::string AsmTail = " ret void\n}";
731731
// (can create poison?, can create undef?, IR instruction)
732-
SmallVector<std::tuple<bool, bool, std::string>, 32> Data = {
733-
{false, false, "add i32 %x, %y"},
734-
{true, false, "add nsw nuw i32 %x, %y"},
735-
{true, false, "shl i32 %x, %y"},
736-
{true, false, "shl <4 x i32> %vx, %vx2"},
737-
{true, false, "shl nsw i32 %x, %y"},
738-
{true, false, "shl nsw <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
739-
{false, false, "shl i32 %x, 31"},
740-
{true, false, "shl i32 %x, 32"},
741-
{false, false, "shl <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
742-
{true, false, "shl <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 32>"},
743-
{true, false, "ashr i32 %x, %y"},
744-
{true, false, "ashr exact i32 %x, %y"},
745-
{false, false, "ashr i32 %x, 31"},
746-
{true, false, "ashr exact i32 %x, 31"},
747-
{false, false, "ashr <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
748-
{true, false, "ashr <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 32>"},
749-
{true, false, "ashr exact <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
750-
{true, false, "lshr i32 %x, %y"},
751-
{true, false, "lshr exact i32 %x, 31"},
752-
{false, false, "udiv i32 %x, %y"},
753-
{true, false, "udiv exact i32 %x, %y"},
754-
{false, false, "getelementptr i8, i8* %p, i32 %x"},
755-
{true, false, "getelementptr inbounds i8, i8* %p, i32 %x"},
756-
{true, false, "fneg nnan float %fx"},
757-
{false, false, "fneg float %fx"},
758-
{false, false, "fadd float %fx, %fy"},
759-
{true, false, "fadd nnan float %fx, %fy"},
760-
{false, false, "urem i32 %x, %y"},
761-
{true, false, "fptoui float %fx to i32"},
762-
{true, false, "fptosi float %fx to i32"},
763-
{false, false, "bitcast float %fx to i32"},
764-
{false, false, "select i1 %cond, i32 %x, i32 %y"},
765-
{true, false, "select nnan i1 %cond, float %fx, float %fy"},
766-
{true, false, "extractelement <4 x i32> %vx, i32 %x"},
767-
{false, false, "extractelement <4 x i32> %vx, i32 3"},
768-
{true, false, "extractelement <vscale x 4 x i32> %svx, i32 4"},
769-
{true, false, "insertelement <4 x i32> %vx, i32 %x, i32 %y"},
770-
{false, false, "insertelement <4 x i32> %vx, i32 %x, i32 3"},
771-
{true, false, "insertelement <vscale x 4 x i32> %svx, i32 %x, i32 4"},
772-
{false, false, "freeze i32 %x"},
773-
{false, false,
732+
SmallVector<std::pair<std::pair<bool, bool>, std::string>, 32> Data = {
733+
{{false, false}, "add i32 %x, %y"},
734+
{{true, false}, "add nsw nuw i32 %x, %y"},
735+
{{true, false}, "shl i32 %x, %y"},
736+
{{true, false}, "shl <4 x i32> %vx, %vx2"},
737+
{{true, false}, "shl nsw i32 %x, %y"},
738+
{{true, false}, "shl nsw <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
739+
{{false, false}, "shl i32 %x, 31"},
740+
{{true, false}, "shl i32 %x, 32"},
741+
{{false, false}, "shl <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
742+
{{true, false}, "shl <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 32>"},
743+
{{true, false}, "ashr i32 %x, %y"},
744+
{{true, false}, "ashr exact i32 %x, %y"},
745+
{{false, false}, "ashr i32 %x, 31"},
746+
{{true, false}, "ashr exact i32 %x, 31"},
747+
{{false, false}, "ashr <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
748+
{{true, false}, "ashr <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 32>"},
749+
{{true, false}, "ashr exact <4 x i32> %vx, <i32 0, i32 1, i32 2, i32 3>"},
750+
{{true, false}, "lshr i32 %x, %y"},
751+
{{true, false}, "lshr exact i32 %x, 31"},
752+
{{false, false}, "udiv i32 %x, %y"},
753+
{{true, false}, "udiv exact i32 %x, %y"},
754+
{{false, false}, "getelementptr i8, i8* %p, i32 %x"},
755+
{{true, false}, "getelementptr inbounds i8, i8* %p, i32 %x"},
756+
{{true, false}, "fneg nnan float %fx"},
757+
{{false, false}, "fneg float %fx"},
758+
{{false, false}, "fadd float %fx, %fy"},
759+
{{true, false}, "fadd nnan float %fx, %fy"},
760+
{{false, false}, "urem i32 %x, %y"},
761+
{{true, false}, "fptoui float %fx to i32"},
762+
{{true, false}, "fptosi float %fx to i32"},
763+
{{false, false}, "bitcast float %fx to i32"},
764+
{{false, false}, "select i1 %cond, i32 %x, i32 %y"},
765+
{{true, false}, "select nnan i1 %cond, float %fx, float %fy"},
766+
{{true, false}, "extractelement <4 x i32> %vx, i32 %x"},
767+
{{false, false}, "extractelement <4 x i32> %vx, i32 3"},
768+
{{true, false}, "extractelement <vscale x 4 x i32> %svx, i32 4"},
769+
{{true, false}, "insertelement <4 x i32> %vx, i32 %x, i32 %y"},
770+
{{false, false}, "insertelement <4 x i32> %vx, i32 %x, i32 3"},
771+
{{true, false}, "insertelement <vscale x 4 x i32> %svx, i32 %x, i32 4"},
772+
{{false, false}, "freeze i32 %x"},
773+
{{false, false},
774774
"shufflevector <4 x i32> %vx, <4 x i32> %vx2, "
775775
"<4 x i32> <i32 0, i32 1, i32 2, i32 3>"},
776-
{false, true,
776+
{{false, true},
777777
"shufflevector <4 x i32> %vx, <4 x i32> %vx2, "
778778
"<4 x i32> <i32 0, i32 1, i32 2, i32 undef>"},
779-
{false, true,
779+
{{false, true},
780780
"shufflevector <vscale x 4 x i32> %svx, "
781781
"<vscale x 4 x i32> %svx, <vscale x 4 x i32> undef"},
782-
{true, false, "call i32 @g(i32 %x)"},
783-
{false, false, "call noundef i32 @g(i32 %x)"},
784-
{true, false, "fcmp nnan oeq float %fx, %fy"},
785-
{false, false, "fcmp oeq float %fx, %fy"}};
782+
{{true, false}, "call i32 @g(i32 %x)"},
783+
{{false, false}, "call noundef i32 @g(i32 %x)"},
784+
{{true, false}, "fcmp nnan oeq float %fx, %fy"},
785+
{{false, false}, "fcmp oeq float %fx, %fy"}};
786786

787787
std::string AssemblyStr = AsmHead;
788788
for (auto &Itm : Data)
789-
AssemblyStr += std::get<2>(Itm) + "\n";
789+
AssemblyStr += Itm.second + "\n";
790790
AssemblyStr += AsmTail;
791791

792792
LLVMContext Context;
@@ -803,8 +803,8 @@ TEST(ValueTracking, canCreatePoisonOrUndef) {
803803
for (auto &I : BB) {
804804
if (isa<ReturnInst>(&I))
805805
break;
806-
bool Poison = std::get<0>(Data[Index]);
807-
bool Undef = std::get<1>(Data[Index]);
806+
bool Poison = Data[Index].first.first;
807+
bool Undef = Data[Index].first.second;
808808
EXPECT_EQ(canCreatePoison(cast<Operator>(&I)), Poison)
809809
<< "Incorrect answer of canCreatePoison at instruction " << Index
810810
<< " = " << I;

0 commit comments

Comments
 (0)