Home
last modified time | relevance | path

Searched refs:Weights (Results 1 – 25 of 35) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DProfDataUtils.cpp72 SmallVectorImpl<T> &Weights) { in extractFromBranchWeightMD() argument
78 Weights.resize(NOps - WeightsIdx); in extractFromBranchWeightMD()
86 Weights[Idx - WeightsIdx] = Weight->getZExtValue(); in extractFromBranchWeightMD()
164 SmallVectorImpl<uint32_t> &Weights) { in extractFromBranchWeightMD32() argument
165 extractFromBranchWeightMD(ProfileData, Weights); in extractFromBranchWeightMD32()
169 SmallVectorImpl<uint64_t> &Weights) { in extractFromBranchWeightMD64() argument
170 extractFromBranchWeightMD(ProfileData, Weights); in extractFromBranchWeightMD64()
174 SmallVectorImpl<uint32_t> &Weights) { in extractBranchWeights() argument
177 extractFromBranchWeightMD(ProfileData, Weights); in extractBranchWeights()
182 SmallVectorImpl<uint32_t> &Weights) { in extractBranchWeights() argument
[all …]
H A DMDBuilder.cpp52 MDNode *MDBuilder::createBranchWeights(ArrayRef<uint32_t> Weights, in createBranchWeights() argument
54 assert(Weights.size() >= 1 && "Need at least one branch weights!"); in createBranchWeights()
57 SmallVector<Metadata *, 4> Vals(Weights.size() + Offset); in createBranchWeights()
63 for (unsigned i = 0, e = Weights.size(); i != e; ++i) in createBranchWeights()
64 Vals[i + Offset] = createConstant(ConstantInt::get(Int32Ty, Weights[i])); in createBranchWeights()
H A DInstructions.cpp3995 if (!Weights) in buildProfBranchWeightsMD()
3998 assert(SI.getNumSuccessors() == Weights->size() && in buildProfBranchWeightsMD()
4001 bool AllZeroes = all_of(*Weights, [](uint32_t W) { return W == 0; }); in buildProfBranchWeightsMD()
4003 if (AllZeroes || Weights->size() < 2) in buildProfBranchWeightsMD()
4006 return MDBuilder(SI.getParent()->getContext()).createBranchWeights(*Weights); in buildProfBranchWeightsMD()
4019 SmallVector<uint32_t, 8> Weights; in init() local
4020 if (!extractBranchWeights(ProfileData, Weights)) in init()
4022 this->Weights = std::move(Weights); in init()
4027 if (Weights) { in removeCase()
4028 assert(SI.getNumSuccessors() == Weights->size() && in removeCase()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DBlockFrequencyInfoImpl.cpp159 Weights.push_back(Weight(Type, Node, Amount)); in add()
178 static void combineWeightsBySorting(WeightList &Weights) { in combineWeightsBySorting() argument
180 llvm::sort(Weights, [](const Weight &L, const Weight &R) { in combineWeightsBySorting()
185 WeightList::iterator O = Weights.begin(); in combineWeightsBySorting()
186 for (WeightList::const_iterator I = O, L = O, E = Weights.end(); I != E; in combineWeightsBySorting()
196 Weights.erase(O, Weights.end()); in combineWeightsBySorting()
199 static void combineWeightsByHashing(WeightList &Weights) { in combineWeightsByHashing() argument
203 HashTable Combined(NextPowerOf2(2 * Weights.size())); in combineWeightsByHashing()
204 for (const Weight &W : Weights) in combineWeightsByHashing()
208 if (Weights.size() == Combined.size()) in combineWeightsByHashing()
[all …]
H A DBranchProbabilityInfo.cpp397 SmallVector<uint32_t, 2> Weights; in calcMetadataWeights() local
401 extractBranchWeights(WeightsNode, Weights); in calcMetadataWeights()
402 for (unsigned I = 0, E = Weights.size(); I != E; ++I) { in calcMetadataWeights()
403 WeightSum += Weights[I]; in calcMetadataWeights()
413 assert(Weights.size() == TI->getNumSuccessors() && "Checked above"); in calcMetadataWeights()
423 Weights[I] /= ScalingFactor; in calcMetadataWeights()
424 WeightSum += Weights[I]; in calcMetadataWeights()
432 Weights[I] = 1; in calcMetadataWeights()
439 BP.push_back({ Weights[I], static_cast<uint32_t>(WeightSum) }); in calcMetadataWeights()
673 SmallVector<uint32_t, 4> Weights; in getMaxEstimatedEdgeWeight() local
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DProfDataUtils.h78 SmallVectorImpl<uint32_t> &Weights);
83 SmallVectorImpl<uint32_t> &Weights);
88 SmallVectorImpl<uint64_t> &Weights);
97 SmallVectorImpl<uint32_t> &Weights);
130 void setBranchWeights(Instruction &I, ArrayRef<uint32_t> Weights,
H A DMDBuilder.h79 MDNode *createBranchWeights(ArrayRef<uint32_t> Weights,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopPeel.cpp664 SmallVector<uint32_t> Weights; member
683 setBranchWeights(*Term, Info.Weights, /*IsExpected=*/false); in updateBranchWeights()
690 Info.Weights[Idx] = in updateBranchWeights()
691 Info.Weights[Idx] > SubWeight in updateBranchWeights()
692 ? std::max(Info.Weights[Idx] - SubWeight, SubWeight) in updateBranchWeights()
703 SmallVector<uint32_t> Weights; in initBranchWeights() local
704 if (!extractBranchWeights(*Term, Weights)) in initBranchWeights()
711 for (auto [Succ, Weight] : zip(successors(Term), Weights)) { in initBranchWeights()
723 for (auto [Succ, Weight] : zip(successors(Term), Weights)) { in initBranchWeights()
736 WeightInfos.insert({Term, {std::move(Weights), std::move(SubWeights)}}); in initBranchWeights()
[all …]
H A DSimplifyCFG.cpp864 static void setBranchWeights(SwitchInst *SI, ArrayRef<uint32_t> Weights, in setBranchWeights() argument
869 if (llvm::any_of(Weights, [](uint32_t W) { return W != 0; })) in setBranchWeights()
871 .createBranchWeights(Weights, IsExpected); in setBranchWeights()
1069 SmallVectorImpl<uint64_t> &Weights) { in GetBranchWeights() argument
1072 extractFromBranchWeightMD64(MD, Weights); in GetBranchWeights()
1078 assert(Weights.size() == 2); in GetBranchWeights()
1081 std::swap(Weights.front(), Weights.back()); in GetBranchWeights()
1086 static void FitWeights(MutableArrayRef<uint64_t> Weights) { in FitWeights() argument
1087 uint64_t Max = *llvm::max_element(Weights); in FitWeights()
1090 for (uint64_t &I : Weights) in FitWeights()
[all …]
H A DLoopRotationUtils.cpp289 SmallVector<uint32_t, 2> Weights; in updateBranchWeights() local
290 extractFromBranchWeightMD32(WeightMD, Weights); in updateBranchWeights()
291 if (Weights.size() != 2) in updateBranchWeights()
293 uint32_t OrigLoopExitWeight = Weights[0]; in updateBranchWeights()
294 uint32_t OrigLoopBackedgeWeight = Weights[1]; in updateBranchWeights()
H A DLocal.cpp224 SmallVector<uint32_t, 8> Weights; in ConstantFoldTerminator() local
225 extractBranchWeights(MD, Weights); in ConstantFoldTerminator()
230 Weights[0] += Weights[Idx + 1]; in ConstantFoldTerminator()
232 std::swap(Weights[Idx + 1], Weights.back()); in ConstantFoldTerminator()
233 Weights.pop_back(); in ConstantFoldTerminator()
234 setBranchWeights(*SI, Weights, hasBranchWeightOrigin(MD)); in ConstantFoldTerminator()
317 SmallVector<uint32_t> Weights; in ConstantFoldTerminator() local
318 if (extractBranchWeights(*SI, Weights) && Weights.size() == 2) { in ConstantFoldTerminator()
319 uint32_t DefWeight = Weights[0]; in ConstantFoldTerminator()
320 uint32_t CaseWeight = Weights[1]; in ConstantFoldTerminator()
/freebsd/contrib/llvm-project/compiler-rt/lib/fuzzer/
H A DFuzzerCorpus.h509 Weights.resize(N); in UpdateCorpusDistribution()
532 Weights[i] = 0.; in UpdateCorpusDistribution()
536 Weights[i] = 0.; in UpdateCorpusDistribution()
539 Weights[i] = Inputs[i]->Energy; in UpdateCorpusDistribution()
543 if (Weights[i] > 0.0) in UpdateCorpusDistribution()
550 Weights[i] = in UpdateCorpusDistribution()
562 Printf("%f ", Weights[i]); in UpdateCorpusDistribution()
563 Printf("Weights\n"); in UpdateCorpusDistribution()
566 Intervals.begin(), Intervals.end(), Weights.begin()); in UpdateCorpusDistribution()
571 std::vector<double> Weights;
570 std::vector<double> Weights; global() variable
[all...]
H A DFuzzerDataFlowTrace.cpp193 auto Weights = Coverage.FunctionWeights(NumFunctions); in Init() local
197 Intervals.begin(), Intervals.end(), Weights.begin()); in Init()
204 if (Weights[i] == 0.0) in Init()
207 Weights[i], Coverage.GetNumberOfBlocks(i), in Init()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLowerExpectIntrinsic.cpp97 SmallVector<uint32_t, 16> Weights(n + 1, UnlikelyBranchWeightVal); in handleSwitchExpect() local
100 Weights[Index] = LikelyBranchWeightVal; in handleSwitchExpect()
102 misexpect::checkExpectAnnotations(SI, Weights, /*IsFrontend=*/true); in handleSwitchExpect()
105 setBranchWeights(SI, Weights, /*IsExpected=*/true); in handleSwitchExpect()
H A DJumpThreading.cpp226 uint32_t Weights[2]; in updatePredecessorProfileMetadata() local
228 Weights[0] = BP.getNumerator(); in updatePredecessorProfileMetadata()
229 Weights[1] = BP.getCompl().getNumerator(); in updatePredecessorProfileMetadata()
231 Weights[0] = BP.getCompl().getNumerator(); in updatePredecessorProfileMetadata()
232 Weights[1] = BP.getNumerator(); in updatePredecessorProfileMetadata()
234 setBranchWeights(*PredBr, Weights, hasBranchWeightOrigin(*PredBr)); in updatePredecessorProfileMetadata()
2603 SmallVector<uint32_t, 4> Weights; in updateBlockFreqAndEdgeWeight() local
2605 Weights.push_back(Prob.getNumerator()); in updateBlockFreqAndEdgeWeight()
2608 setBranchWeights(*TI, Weights, hasBranchWeightOrigin(*TI)); in updateBlockFreqAndEdgeWeight()
H A DLoopPredication.cpp921 SmallVector<uint32_t> Weights; in parseLoopLatchICmp()
922 extractBranchWeights(ProfileData, Weights); in parseLoopLatchICmp()
924 for (auto [i, Weight] : llvm::enumerate(Weights)) { in parseLoopLatchICmp()
1003 SmallVector<uint32_t> Weights; isLoopProfitableToPredicate() local
H A DSimpleLoopUnswitch.cpp3044 SmallVector<uint32_t> Weights; in shouldTryInjectBasingOnMetadata()
3045 if (!extractBranchWeights(*BI, Weights)) in shouldTryInjectBasingOnMetadata()
3050 assert(Weights.size() == 2 && "Unexpected profile data!"); in shouldTryInjectBasingOnMetadata()
3052 auto Num = Weights[Idx]; in shouldTryInjectBasingOnMetadata()
3053 auto Denom = Weights[0] + Weights[1]; in shouldTryInjectBasingOnMetadata()
3043 SmallVector<uint32_t> Weights; shouldTryInjectBasingOnMetadata() local
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DPGOInstrumentation.cpp1479 SmallVector<uint32_t, 4> Weights; in populateCoverage() local
1481 Weights.push_back((Coverage[Succ] || !Coverage[&BB]) ? 1 : 0); in populateCoverage()
1482 if (Weights.size() >= 2) in populateCoverage()
1483 llvm::setBranchWeights(*BB.getTerminator(), Weights, in populateCoverage()
2299 SmallVector<unsigned, 4> Weights; in setProfMetadata() local
2301 Weights.push_back(scaleBranchCount(ECI, Scale)); in setProfMetadata()
2304 : Weights) { in setProfMetadata()
2308 misexpect::checkExpectAnnotations(*TI, Weights, /*IsFrontend=*/false); in setProfMetadata()
2310 setBranchWeights(*TI, Weights, /*IsExpected=*/false); in setProfMetadata()
2317 std::accumulate(Weights.begin(), Weights.end(), (uint64_t)0, in setProfMetadata()
[all …]
H A DControlHeightReduction.cpp1878 uint32_t Weights[] = { in fixupBranchesAndSelects() local
1882 setBranchWeights(*MergedBR, Weights, /*IsExpected=*/false); in fixupBranchesAndSelects()
1883 CHR_DEBUG(dbgs() << "CHR branch bias " << Weights[0] << ":" << Weights[1] in fixupBranchesAndSelects()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCodeGenPGO.cpp1468 CodeGenFunction::createProfileWeights(ArrayRef<uint64_t> Weights) const { in createProfileWeights()
1470 if (Weights.size() < 2) in createProfileWeights()
1474 uint64_t MaxWeight = *std::max_element(Weights.begin(), Weights.end()); in createProfileWeights()
1482 ScaledWeights.reserve(Weights.size()); in createProfileWeights()
1483 for (uint64_t W : Weights) in createProfileWeights()
H A DCGStmt.cpp1039 llvm::MDNode *Weights = in EmitWhileStmt() local
1041 if (!Weights && CGM.getCodeGenOpts().OptimizationLevel) in EmitWhileStmt()
1044 Builder.CreateCondBr(BoolCondVal, LoopBody, ExitBlock, Weights); in EmitWhileStmt()
1254 llvm::MDNode *Weights = in EmitForStmt() local
1256 if (!Weights && CGM.getCodeGenOpts().OptimizationLevel) in EmitForStmt()
1260 Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitForStmt()
1357 llvm::MDNode *Weights = in EmitCXXForRangeStmt() local
1359 if (!Weights && CGM.getCodeGenOpts().OptimizationLevel) in EmitCXXForRangeStmt()
1362 Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitCXXForRangeStmt()
1678 llvm::MDNode *Weights = nullptr; in EmitCaseStmtRange() local
[all …]
H A DCGDeclCXX.cpp418 llvm::MDNode *Weights; in EmitCXXGuardedInitBranch() local
424 Weights = nullptr; in EmitCXXGuardedInitBranch()
437 Weights = MDHelper.createBranchWeights(1, NumInits - 1); in EmitCXXGuardedInitBranch()
440 Builder.CreateCondBr(NeedsInit, InitBlock, NoInitBlock, Weights); in EmitCXXGuardedInitBranch()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DStackProtector.cpp671 MDNode *Weights = MDBuilder(F->getContext())
676 /*Unreachable=*/false, Weights, DTU,
588 MDNode *Weights = MDBuilder(F->getContext()) InsertStackProtectors() local
H A DSafeStack.cpp472 MDNode *Weights = MDBuilder(F.getContext()) in checkStackGuard() local
476 SplitBlockAndInsertIfThen(Cmp, &RI, /* Unreachable */ true, Weights, DTU); in checkStackGuard()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DSampleProfile.cpp1697 SmallVector<uint32_t, 4> Weights; in generateMDProfMetadata() local
1728 Weights.push_back(static_cast<uint32_t>( in generateMDProfMetadata()
1738 Weights.push_back(static_cast<uint32_t>(W)); in generateMDProfMetadata()
1748 misexpect::checkExpectAnnotations(*TI, Weights, /*IsFrontend=*/false); in generateMDProfMetadata()
1762 setBranchWeights(*TI, Weights, /*IsExpected=*/false); in generateMDProfMetadata()

12