@@ -38,53 +38,65 @@ TEST(ValueTest, getNumUses) {
38
38
Value v0 = op0->getResult (0 );
39
39
EXPECT_EQ (v0.getNumUses (), (unsigned )0 );
40
40
41
- createOp (&context, {v0}, builder.getIntegerType (16 ));
41
+ Operation *op1 = createOp (&context, {v0}, builder.getIntegerType (16 ));
42
42
EXPECT_EQ (v0.getNumUses (), (unsigned )1 );
43
43
44
- createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
44
+ Operation *op2 = createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
45
45
EXPECT_EQ (v0.getNumUses (), (unsigned )3 );
46
+
47
+ op2->destroy ();
48
+ op1->destroy ();
49
+ op0->destroy ();
46
50
}
47
51
48
52
TEST (ValueTest, hasNUses) {
49
53
MLIRContext context;
50
54
Builder builder (&context);
51
55
52
- Operation *op =
56
+ Operation *op0 =
53
57
createOp (&context, /* operands=*/ std::nullopt, builder.getIntegerType (16 ));
54
- Value v0 = op ->getResult (0 );
58
+ Value v0 = op0 ->getResult (0 );
55
59
EXPECT_TRUE (v0.hasNUses (0 ));
56
60
EXPECT_FALSE (v0.hasNUses (1 ));
57
61
58
- createOp (&context, {v0}, builder.getIntegerType (16 ));
62
+ Operation *op1 = createOp (&context, {v0}, builder.getIntegerType (16 ));
59
63
EXPECT_FALSE (v0.hasNUses (0 ));
60
64
EXPECT_TRUE (v0.hasNUses (1 ));
61
65
62
- createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
66
+ Operation *op2 = createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
63
67
EXPECT_FALSE (v0.hasNUses (0 ));
64
68
EXPECT_FALSE (v0.hasNUses (1 ));
65
69
EXPECT_TRUE (v0.hasNUses (3 ));
70
+
71
+ op2->destroy ();
72
+ op1->destroy ();
73
+ op0->destroy ();
66
74
}
67
75
68
76
TEST (ValueTest, hasNUsesOrMore) {
69
77
MLIRContext context;
70
78
Builder builder (&context);
71
79
72
- Operation *op =
80
+ Operation *op0 =
73
81
createOp (&context, /* operands=*/ std::nullopt, builder.getIntegerType (16 ));
74
- Value v0 = op ->getResult (0 );
82
+ Value v0 = op0 ->getResult (0 );
75
83
EXPECT_TRUE (v0.hasNUsesOrMore (0 ));
76
84
EXPECT_FALSE (v0.hasNUsesOrMore (1 ));
77
85
78
- createOp (&context, {v0}, builder.getIntegerType (16 ));
86
+ Operation *op1 = createOp (&context, {v0}, builder.getIntegerType (16 ));
79
87
EXPECT_TRUE (v0.hasNUsesOrMore (0 ));
80
88
EXPECT_TRUE (v0.hasNUsesOrMore (1 ));
81
89
EXPECT_FALSE (v0.hasNUsesOrMore (2 ));
82
90
83
- createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
91
+ Operation *op2 = createOp (&context, {v0, v0}, builder.getIntegerType (16 ));
84
92
EXPECT_TRUE (v0.hasNUsesOrMore (0 ));
85
93
EXPECT_TRUE (v0.hasNUsesOrMore (1 ));
86
94
EXPECT_TRUE (v0.hasNUsesOrMore (3 ));
87
95
EXPECT_FALSE (v0.hasNUsesOrMore (4 ));
96
+
97
+ op2->destroy ();
98
+ op1->destroy ();
99
+ op0->destroy ();
88
100
}
89
101
90
102
} // end anonymous namespace
0 commit comments