Lines Matching defs:VMI
146 const VariantMatchInfo &VMI, const OMPContext &Ctx,
156 if (VMI.RequiredTraits.test(
159 if (VMI.RequiredTraits.test(
195 for (unsigned Bit : VMI.RequiredTraits.set_bits()) {
212 IsActiveTrait = llvm::all_of(VMI.ISATraits, [&](StringRef RawString) {
224 for (TraitProperty Property : VMI.ConstructTraits) {
249 assert(isSubset<TraitProperty>(VMI.ConstructTraits, Ctx.ConstructTraits) &&
263 bool llvm::omp::isVariantApplicableInContext(const VariantMatchInfo &VMI,
267 VMI, Ctx, /* ConstructMatches */ nullptr, DeviceSetOnly);
270 static APInt getVariantMatchScore(const VariantMatchInfo &VMI,
275 unsigned NoConstructTraits = VMI.ConstructTraits.size();
276 for (unsigned Bit : VMI.RequiredTraits.set_bits()) {
279 if (VMI.ScoreMap.count(Property)) {
280 const APInt &UserScore = VMI.ScoreMap.lookup(Property);
288 // We handle the construct traits later via the VMI.ConstructTraits
326 for (TraitProperty Property : VMI.ConstructTraits) {
348 const VariantMatchInfo &VMI = VMIs[u];
352 if (!isVariantApplicableInContextHelper(VMI, Ctx, &ConstructMatches,
356 APInt Score = getVariantMatchScore(VMI, Ctx, ConstructMatches);
362 if (isStrictSubset(VMI, *BestVMI))
365 if (!isStrictSubset(*BestVMI, VMI))
369 BestVMI = &VMI;