@@ -1392,9 +1392,9 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1392
1392
return VD1.Count > VD2.Count ;
1393
1393
};
1394
1394
1395
- std::unique_ptr <InstrProfValueData[] > VD_0 (
1396
- Record.getValueForSite (IPVK_IndirectCallTarget, 0 ));
1397
- llvm::sort (& VD_0[ 0 ], &VD_0[ 5 ] , Cmp);
1395
+ SmallVector <InstrProfValueData> VD_0 (
1396
+ Record.getValueArrayForSite (IPVK_IndirectCallTarget, 0 ));
1397
+ llvm::sort (VD_0, Cmp);
1398
1398
EXPECT_STREQ ((const char *)VD_0[0 ].Value , " callee2" );
1399
1399
EXPECT_EQ (1000U , VD_0[0 ].Count );
1400
1400
EXPECT_STREQ ((const char *)VD_0[1 ].Value , " callee3" );
@@ -1406,9 +1406,9 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1406
1406
EXPECT_STREQ ((const char *)VD_0[4 ].Value , " callee5" );
1407
1407
EXPECT_EQ (100U , VD_0[4 ].Count );
1408
1408
1409
- std::unique_ptr <InstrProfValueData[] > VD_1 (
1410
- Record.getValueForSite (IPVK_IndirectCallTarget, 1 ));
1411
- llvm::sort (& VD_1[ 0 ], &VD_1[ 4 ] , Cmp);
1409
+ SmallVector <InstrProfValueData> VD_1 (
1410
+ Record.getValueArrayForSite (IPVK_IndirectCallTarget, 1 ));
1411
+ llvm::sort (VD_1, Cmp);
1412
1412
EXPECT_STREQ ((const char *)VD_1[0 ].Value , " callee2" );
1413
1413
EXPECT_EQ (VD_1[0 ].Count , 2500U );
1414
1414
EXPECT_STREQ ((const char *)VD_1[1 ].Value , " callee1" );
@@ -1418,19 +1418,19 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1418
1418
EXPECT_STREQ ((const char *)VD_1[3 ].Value , " callee5" );
1419
1419
EXPECT_EQ (VD_1[3 ].Count , 800U );
1420
1420
1421
- std::unique_ptr <InstrProfValueData[] > VD_2 (
1422
- Record.getValueForSite (IPVK_IndirectCallTarget, 2 ));
1423
- llvm::sort (& VD_2[ 0 ], &VD_2[ 3 ] , Cmp);
1421
+ SmallVector <InstrProfValueData> VD_2 (
1422
+ Record.getValueArrayForSite (IPVK_IndirectCallTarget, 2 ));
1423
+ llvm::sort (VD_2, Cmp);
1424
1424
EXPECT_STREQ ((const char *)VD_2[0 ].Value , " callee4" );
1425
1425
EXPECT_EQ (VD_2[0 ].Count , 5500U );
1426
1426
EXPECT_STREQ ((const char *)VD_2[1 ].Value , " callee3" );
1427
1427
EXPECT_EQ (VD_2[1 ].Count , 1000U );
1428
1428
EXPECT_STREQ ((const char *)VD_2[2 ].Value , " callee6" );
1429
1429
EXPECT_EQ (VD_2[2 ].Count , 800U );
1430
1430
1431
- std::unique_ptr <InstrProfValueData[] > VD_3 (
1432
- Record.getValueForSite (IPVK_IndirectCallTarget, 3 ));
1433
- llvm::sort (& VD_3[ 0 ], &VD_3[ 2 ] , Cmp);
1431
+ SmallVector <InstrProfValueData> VD_3 (
1432
+ Record.getValueArrayForSite (IPVK_IndirectCallTarget, 3 ));
1433
+ llvm::sort (VD_3, Cmp);
1434
1434
EXPECT_STREQ ((const char *)VD_3[0 ].Value , " callee3" );
1435
1435
EXPECT_EQ (VD_3[0 ].Count , 2000U );
1436
1436
EXPECT_STREQ ((const char *)VD_3[1 ].Value , " callee2" );
@@ -1442,8 +1442,9 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1442
1442
ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 2 ), 3U );
1443
1443
ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 3 ), 2U );
1444
1444
1445
- auto VD0 (Record.getValueForSite (IPVK_VTableTarget, 0 ));
1446
- llvm::sort (&VD0[0 ], &VD0[5 ], Cmp);
1445
+ SmallVector<InstrProfValueData> VD0 (
1446
+ Record.getValueArrayForSite (IPVK_VTableTarget, 0 ));
1447
+ llvm::sort (VD0, Cmp);
1447
1448
EXPECT_EQ (VD0[0 ].Value , getCalleeAddress (vtable2));
1448
1449
EXPECT_EQ (VD0[0 ].Count , 1000U );
1449
1450
EXPECT_EQ (VD0[1 ].Value , getCalleeAddress (vtable3));
@@ -1455,8 +1456,9 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1455
1456
EXPECT_EQ (VD0[4 ].Value , getCalleeAddress (vtable5));
1456
1457
EXPECT_EQ (VD0[4 ].Count , 100U );
1457
1458
1458
- auto VD1 (Record.getValueForSite (IPVK_VTableTarget, 1 ));
1459
- llvm::sort (&VD1[0 ], &VD1[4 ], Cmp);
1459
+ SmallVector<InstrProfValueData> VD1 (
1460
+ Record.getValueArrayForSite (IPVK_VTableTarget, 1 ));
1461
+ llvm::sort (VD1, Cmp);
1460
1462
EXPECT_EQ (VD1[0 ].Value , getCalleeAddress (vtable2));
1461
1463
EXPECT_EQ (VD1[0 ].Count , 2500U );
1462
1464
EXPECT_EQ (VD1[1 ].Value , getCalleeAddress (vtable1));
@@ -1466,17 +1468,19 @@ TEST(ValueProfileReadWriteTest, value_prof_data_read_write) {
1466
1468
EXPECT_EQ (VD1[3 ].Value , getCalleeAddress (vtable5));
1467
1469
EXPECT_EQ (VD1[3 ].Count , 800U );
1468
1470
1469
- auto VD2 (Record.getValueForSite (IPVK_VTableTarget, 2 ));
1470
- llvm::sort (&VD2[0 ], &VD2[3 ], Cmp);
1471
+ SmallVector<InstrProfValueData> VD2 (
1472
+ Record.getValueArrayForSite (IPVK_VTableTarget, 2 ));
1473
+ llvm::sort (VD2, Cmp);
1471
1474
EXPECT_EQ (VD2[0 ].Value , getCalleeAddress (vtable4));
1472
1475
EXPECT_EQ (VD2[0 ].Count , 5500U );
1473
1476
EXPECT_EQ (VD2[1 ].Value , getCalleeAddress (vtable3));
1474
1477
EXPECT_EQ (VD2[1 ].Count , 1000U );
1475
1478
EXPECT_EQ (VD2[2 ].Value , getCalleeAddress (vtable6));
1476
1479
EXPECT_EQ (VD2[2 ].Count , 800U );
1477
1480
1478
- auto VD3 (Record.getValueForSite (IPVK_VTableTarget, 3 ));
1479
- llvm::sort (&VD3[0 ], &VD3[2 ], Cmp);
1481
+ SmallVector<InstrProfValueData> VD3 (
1482
+ Record.getValueArrayForSite (IPVK_VTableTarget, 3 ));
1483
+ llvm::sort (VD3, Cmp);
1480
1484
EXPECT_EQ (VD3[0 ].Value , getCalleeAddress (vtable3));
1481
1485
EXPECT_EQ (VD3[0 ].Count , 2000U );
1482
1486
EXPECT_EQ (VD3[1 ].Value , getCalleeAddress (vtable2));
@@ -1537,8 +1541,9 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1537
1541
auto Cmp = [](const InstrProfValueData &VD1, const InstrProfValueData &VD2) {
1538
1542
return VD1.Count > VD2.Count ;
1539
1543
};
1540
- auto VD_0 (Record.getValueForSite (IPVK_IndirectCallTarget, 0 ));
1541
- llvm::sort (&VD_0[0 ], &VD_0[5 ], Cmp);
1544
+ SmallVector<InstrProfValueData> VD_0 (
1545
+ Record.getValueArrayForSite (IPVK_IndirectCallTarget, 0 ));
1546
+ llvm::sort (VD_0, Cmp);
1542
1547
ASSERT_EQ (VD_0[0 ].Value , 0x2000ULL );
1543
1548
ASSERT_EQ (VD_0[0 ].Count , 1000U );
1544
1549
ASSERT_EQ (VD_0[1 ].Value , 0x3000ULL );
@@ -1554,9 +1559,10 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1554
1559
1555
1560
{
1556
1561
// The first vtable site.
1557
- auto VD (Record.getValueForSite (IPVK_VTableTarget, 0 ));
1558
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 0 ), 5U );
1559
- llvm::sort (&VD[0 ], &VD[5 ], Cmp);
1562
+ SmallVector<InstrProfValueData> VD (
1563
+ Record.getValueArrayForSite (IPVK_VTableTarget, 0 ));
1564
+ ASSERT_THAT (VD, SizeIs (5 ));
1565
+ llvm::sort (VD, Cmp);
1560
1566
EXPECT_EQ (VD[0 ].Count , 1000U );
1561
1567
EXPECT_EQ (VD[0 ].Value , MD5Hash (" vtable2" ));
1562
1568
EXPECT_EQ (VD[1 ].Count , 500U );
@@ -1573,9 +1579,10 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1573
1579
1574
1580
{
1575
1581
// The second vtable site.
1576
- auto VD (Record.getValueForSite (IPVK_VTableTarget, 1 ));
1577
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 1 ), 4U );
1578
- llvm::sort (&VD[0 ], &VD[4 ], Cmp);
1582
+ SmallVector<InstrProfValueData> VD (
1583
+ Record.getValueArrayForSite (IPVK_VTableTarget, 1 ));
1584
+ ASSERT_THAT (VD, SizeIs (4 ));
1585
+ llvm::sort (VD, Cmp);
1579
1586
EXPECT_EQ (VD[0 ].Value , MD5Hash (" vtable2" ));
1580
1587
EXPECT_EQ (VD[0 ].Count , 2500U );
1581
1588
EXPECT_EQ (VD[1 ].Value , MD5Hash (" vtable1" ));
@@ -1590,9 +1597,10 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1590
1597
1591
1598
{
1592
1599
// The third vtable site.
1593
- auto VD (Record.getValueForSite (IPVK_VTableTarget, 2 ));
1594
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 2 ), 3U );
1595
- llvm::sort (&VD[0 ], &VD[3 ], Cmp);
1600
+ SmallVector<InstrProfValueData> VD (
1601
+ Record.getValueArrayForSite (IPVK_VTableTarget, 2 ));
1602
+ ASSERT_THAT (VD, SizeIs (3 ));
1603
+ llvm::sort (VD, Cmp);
1596
1604
EXPECT_EQ (VD[0 ].Count , 5500U );
1597
1605
EXPECT_EQ (VD[0 ].Value , MD5Hash (" vtable4" ));
1598
1606
EXPECT_EQ (VD[1 ].Count , 1000U );
@@ -1604,9 +1612,10 @@ TEST(ValueProfileReadWriteTest, symtab_mapping) {
1604
1612
1605
1613
{
1606
1614
// The fourth vtable site.
1607
- auto VD (Record.getValueForSite (IPVK_VTableTarget, 3 ));
1608
- ASSERT_EQ (Record.getNumValueDataForSite (IPVK_VTableTarget, 3 ), 2U );
1609
- llvm::sort (&VD[0 ], &VD[2 ], Cmp);
1615
+ SmallVector<InstrProfValueData> VD (
1616
+ Record.getValueArrayForSite (IPVK_VTableTarget, 3 ));
1617
+ ASSERT_THAT (VD, SizeIs (2 ));
1618
+ llvm::sort (VD, Cmp);
1610
1619
EXPECT_EQ (VD[0 ].Count , 2000U );
1611
1620
EXPECT_EQ (VD[0 ].Value , MD5Hash (" vtable3" ));
1612
1621
EXPECT_EQ (VD[1 ].Count , 1800U );
0 commit comments