Lines Matching defs:Weights
875 static void setBranchWeights(SwitchInst *SI, ArrayRef<uint32_t> Weights,
880 if (llvm::any_of(Weights, [](uint32_t W) { return W != 0; }))
882 .createBranchWeights(Weights, IsExpected);
1076 /// Get Weights of a given terminator, the default weight is at the front
1080 SmallVectorImpl<uint64_t> &Weights) {
1083 extractFromBranchWeightMD64(MD, Weights);
1089 assert(Weights.size() == 2);
1092 std::swap(Weights.front(), Weights.back());
1097 static void fitWeights(MutableArrayRef<uint64_t> Weights) {
1098 uint64_t Max = *llvm::max_element(Weights);
1101 for (uint64_t &I : Weights)
1194 SmallVector<uint64_t, 8> Weights;
1199 getBranchWeights(PTI, Weights);
1201 if (Weights.size() != 1 + PredCases.size())
1205 // populate Weights with 1, which will later be scaled to the sum of
1207 Weights.assign(1 + PredCases.size(), 1);
1231 Weights[0] += Weights[i + 1];
1232 std::swap(Weights[i + 1], Weights.back());
1233 Weights.pop_back();
1250 unsigned CasesFromPred = Weights.size();
1259 // PredDefaultWeight (Weights[0]).
1260 Weights.push_back(Weights[0] * SuccWeights[i + 1]);
1269 Weights[i] *= ValidTotalSuccWeight;
1271 Weights[0] *= SuccWeights[0];
1284 WeightsForHandled[PredCases[i].Value] = Weights[i + 1];
1285 std::swap(Weights[i + 1], Weights.back());
1286 Weights.pop_back();
1301 Weights.push_back(WeightsForHandled[BBCases[i].Value]);
1311 Weights.push_back(WeightsForHandled[I]);
1350 fitWeights(Weights);
1352 SmallVector<uint32_t, 8> MDWeights(Weights.begin(), Weights.end());
4967 SmallVector<uint64_t, 8> Weights;
4970 getBranchWeights(SI, Weights);
4971 if (Weights.size() == 1 + SI->getNumCases()) {
4973 (uint32_t)Weights[SI->findCaseValue(TrueVal)->getSuccessorIndex()];
4975 (uint32_t)Weights[SI->findCaseValue(FalseVal)->getSuccessorIndex()];
5849 SmallVector<uint64_t, 8> Weights;
5850 getBranchWeights(SI, Weights);
5851 if (Weights.size() == 1 + SI->getNumCases()) {
5854 for (size_t I = 0, E = Weights.size(); I != E; ++I) {
5856 TrueWeight += Weights[I];
5858 FalseWeight += Weights[I];
7387 SmallVector<uint32_t, 4> Weights;
7388 bool HasWeights = extractBranchWeights(getBranchWeightMDNode(*SI), Weights);
7390 Weights.resize(4); // Avoid checking HasWeights everywhere.
7406 SuccWeight = Weights[0];
7418 OtherSuccWeight += Weights[Case.getSuccessorIndex()];
7429 uint32_t Weight = Weights[Case.getSuccessorIndex()];
8015 uint64_t Weights[2] = {BBTWeight * BB1FWeight + BBFWeight * BB2TWeight,
8017 fitWeights(Weights);
8018 setBranchWeights(BI, Weights[0], Weights[1], /*IsExpected=*/false);