Lines Matching defs:VMI
139 const VariantMatchInfo &VMI, const OMPContext &Ctx,
149 if (VMI.RequiredTraits.test(
152 if (VMI.RequiredTraits.test(
188 for (unsigned Bit : VMI.RequiredTraits.set_bits()) {
210 for (TraitProperty Property : VMI.ConstructTraits) {
236 assert(isSubset<TraitProperty>(VMI.ConstructTraits, Ctx.ConstructTraits) &&
250 bool llvm::omp::isVariantApplicableInContext(const VariantMatchInfo &VMI,
254 VMI, Ctx, /* ConstructMatches */ nullptr, DeviceSetOnly);
257 static APInt getVariantMatchScore(const VariantMatchInfo &VMI,
262 unsigned NoConstructTraits = VMI.ConstructTraits.size();
263 for (unsigned Bit : VMI.RequiredTraits.set_bits()) {
266 if (VMI.ScoreMap.count(Property)) {
267 const APInt &UserScore = VMI.ScoreMap.lookup(Property);
275 // We handle the construct traits later via the VMI.ConstructTraits
313 for (TraitProperty Property : VMI.ConstructTraits) {
335 const VariantMatchInfo &VMI = VMIs[u];
339 if (!isVariantApplicableInContextHelper(VMI, Ctx, &ConstructMatches,
343 APInt Score = getVariantMatchScore(VMI, Ctx, ConstructMatches);
349 if (isStrictSubset(VMI, *BestVMI))
352 if (!isStrictSubset(*BestVMI, VMI))
356 BestVMI = &VMI;