@@ -1427,20 +1427,18 @@ codelayout::computeExtTspLayout(ArrayRef<uint64_t> NodeSizes,
14271427
14281428double codelayout::calcExtTspScore (ArrayRef<uint64_t > Order,
14291429 ArrayRef<uint64_t > NodeSizes,
1430- ArrayRef<uint64_t > NodeCounts,
14311430 ArrayRef<EdgeCount> EdgeCounts) {
14321431 // Estimate addresses of the blocks in memory.
1433- std::vector <uint64_t > Addr (NodeSizes.size (), 0 );
1434- for (size_t Idx = 1 ; Idx < Order.size (); Idx++) {
1432+ SmallVector <uint64_t > Addr (NodeSizes.size (), 0 );
1433+ for (uint64_t Idx = 1 ; Idx < Order.size (); Idx++)
14351434 Addr[Order[Idx]] = Addr[Order[Idx - 1 ]] + NodeSizes[Order[Idx - 1 ]];
1436- }
1437- std::vector<uint64_t > OutDegree (NodeSizes.size (), 0 );
1438- for (auto Edge : EdgeCounts)
1435+ SmallVector<uint64_t > OutDegree (NodeSizes.size (), 0 );
1436+ for (auto &Edge : EdgeCounts)
14391437 ++OutDegree[Edge.src ];
14401438
14411439 // Increase the score for each jump.
14421440 double Score = 0 ;
1443- for (auto Edge : EdgeCounts) {
1441+ for (auto & Edge : EdgeCounts) {
14441442 bool IsConditional = OutDegree[Edge.src ] > 1 ;
14451443 Score += ::extTSPScore (Addr[Edge.src ], NodeSizes[Edge.src ], Addr[Edge.dst ],
14461444 Edge.count , IsConditional);
@@ -1449,13 +1447,11 @@ double codelayout::calcExtTspScore(ArrayRef<uint64_t> Order,
14491447}
14501448
14511449double codelayout::calcExtTspScore (ArrayRef<uint64_t > NodeSizes,
1452- ArrayRef<uint64_t > NodeCounts,
14531450 ArrayRef<EdgeCount> EdgeCounts) {
1454- std::vector <uint64_t > Order (NodeSizes.size ());
1455- for (size_t Idx = 0 ; Idx < NodeSizes.size (); Idx++) {
1451+ SmallVector <uint64_t > Order (NodeSizes.size ());
1452+ for (uint64_t Idx = 0 ; Idx < NodeSizes.size (); Idx++)
14561453 Order[Idx] = Idx;
1457- }
1458- return calcExtTspScore (Order, NodeSizes, NodeCounts, EdgeCounts);
1454+ return calcExtTspScore (Order, NodeSizes, EdgeCounts);
14591455}
14601456
14611457std::vector<uint64_t > codelayout::computeCacheDirectedLayout (
0 commit comments