@@ -1381,19 +1381,14 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1381
1381
1382
1382
// Now read data from Record and sanity check the data
1383
1383
ASSERT_EQ (6U , Record.getNumValueSites (IPVK_IndirectCallTarget));
1384
- ASSERT_EQ (5U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 0 ));
1385
- ASSERT_EQ (4U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 1 ));
1386
- ASSERT_EQ (3U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 2 ));
1387
- ASSERT_EQ (2U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 3 ));
1388
- ASSERT_EQ (0U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 4 ));
1389
- ASSERT_EQ (2U , Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 5 ));
1390
1384
1391
1385
auto Cmp = [](const InstrProfValueData &VD1, const InstrProfValueData &VD2) {
1392
1386
return VD1.Count > VD2.Count ;
1393
1387
};
1394
1388
1395
1389
SmallVector<InstrProfValueData> VD_0 (
1396
1390
Record.getValueArrayForSite (IPVK_IndirectCallTarget, 0 ));
1391
+ ASSERT_THAT (VD_0, SizeIs (5 ));
1397
1392
llvm::sort (VD_0, Cmp);
1398
1393
EXPECT_STREQ ((const char *)VD_0[0 ].Value , " callee2" );
1399
1394
EXPECT_EQ (1000U , VD_0[0 ].Count );
@@ -1408,6 +1403,7 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1408
1403
1409
1404
SmallVector<InstrProfValueData> VD_1 (
1410
1405
Record.getValueArrayForSite (IPVK_IndirectCallTarget, 1 ));
1406
+ ASSERT_THAT (VD_1, SizeIs (4 ));
1411
1407
llvm::sort (VD_1, Cmp);
1412
1408
EXPECT_STREQ ((const char *)VD_1[0 ].Value , " callee2" );
1413
1409
EXPECT_EQ (VD_1[0 ].Count , 2500U );
@@ -1420,6 +1416,7 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1420
1416
1421
1417
SmallVector<InstrProfValueData> VD_2 (
1422
1418
Record.getValueArrayForSite (IPVK_IndirectCallTarget, 2 ));
1419
+ ASSERT_THAT (VD_2, SizeIs (3 ));
1423
1420
llvm::sort (VD_2, Cmp);
1424
1421
EXPECT_STREQ ((const char *)VD_2[0 ].Value , " callee4" );
1425
1422
EXPECT_EQ (VD_2[0 ].Count , 5500U );
@@ -1430,20 +1427,23 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1430
1427
1431
1428
SmallVector<InstrProfValueData> VD_3 (
1432
1429
Record.getValueArrayForSite (IPVK_IndirectCallTarget, 3 ));
1430
+ ASSERT_THAT (VD_3, SizeIs (2 ));
1433
1431
llvm::sort (VD_3, Cmp);
1434
1432
EXPECT_STREQ ((const char *)VD_3[0 ].Value , " callee3" );
1435
1433
EXPECT_EQ (VD_3[0 ].Count , 2000U );
1436
1434
EXPECT_STREQ ((const char *)VD_3[1 ].Value , " callee2" );
1437
1435
EXPECT_EQ (VD_3[1 ].Count , 1800U );
1438
1436
1437
+ ASSERT_THAT (Record.getValueArrayForSite (IPVK_IndirectCallTarget, 4 ),
1438
+ SizeIs (0 ));
1439
+ ASSERT_THAT (Record.getValueArrayForSite (IPVK_IndirectCallTarget, 5 ),
1440
+ SizeIs (2 ));
1441
+
1439
1442
ASSERT_EQ (Record.getNumValueSites (IPVK_VTableTarget), 4U );
1440
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 0 ), 5U );
1441
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 1 ), 4U );
1442
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 2 ), 3U );
1443
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 3 ), 2U );
1444
1443
1445
1444
SmallVector<InstrProfValueData> VD0 (
1446
1445
Record.getValueArrayForSite (IPVK_VTableTarget, 0 ));
1446
+ ASSERT_THAT (VD0, SizeIs (5 ));
1447
1447
llvm::sort (VD0, Cmp);
1448
1448
EXPECT_EQ (VD0[0 ].Value , getCalleeAddress (vtable2));
1449
1449
EXPECT_EQ (VD0[0 ].Count , 1000U );
@@ -1458,6 +1458,7 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1458
1458
1459
1459
SmallVector<InstrProfValueData> VD1 (
1460
1460
Record.getValueArrayForSite (IPVK_VTableTarget, 1 ));
1461
+ ASSERT_THAT (VD1, SizeIs (4 ));
1461
1462
llvm::sort (VD1, Cmp);
1462
1463
EXPECT_EQ (VD1[0 ].Value , getCalleeAddress (vtable2));
1463
1464
EXPECT_EQ (VD1[0 ].Count , 2500U );
@@ -1470,6 +1471,7 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1470
1471
1471
1472
SmallVector<InstrProfValueData> VD2 (
1472
1473
Record.getValueArrayForSite (IPVK_VTableTarget, 2 ));
1474
+ ASSERT_THAT (VD2, SizeIs (3 ));
1473
1475
llvm::sort (VD2, Cmp);
1474
1476
EXPECT_EQ (VD2[0 ].Value , getCalleeAddress (vtable4));
1475
1477
EXPECT_EQ (VD2[0 ].Count , 5500U );
@@ -1480,6 +1482,7 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1480
1482
1481
1483
SmallVector<InstrProfValueData> VD3 (
1482
1484
Record.getValueArrayForSite (IPVK_VTableTarget, 3 ));
1485
+ ASSERT_THAT (VD3, SizeIs (2 ));
1483
1486
llvm::sort (VD3, Cmp);
1484
1487
EXPECT_EQ (VD3[0 ].Value , getCalleeAddress (vtable3));
1485
1488
EXPECT_EQ (VD3[0 ].Count , 2000U );
@@ -1525,7 +1528,6 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1525
1528
1526
1529
// Now read data from Record and sanity check the data
1527
1530
ASSERT_EQ (Record.getNumValueSites (IPVK_IndirectCallTarget), 6U );
1528
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_IndirectCallTarget, 0 ), 5U );
1529
1531
1530
1532
// Look up the value correpsonding to the middle of a vtable in symtab and
1531
1533
// test that it's the hash of the name.
@@ -1543,6 +1545,7 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1543
1545
};
1544
1546
SmallVector<InstrProfValueData> VD_0 (
1545
1547
Record.getValueArrayForSite (IPVK_IndirectCallTarget, 0 ));
1548
+ ASSERT_THAT (VD_0, SizeIs (5 ));
1546
1549
llvm::sort (VD_0, Cmp);
1547
1550
ASSERT_EQ (VD_0[0 ].Value , 0x2000ULL );
1548
1551
ASSERT_EQ (VD_0[0 ].Count , 1000U );
0 commit comments