Lines Matching refs:InstInfo
1197 CodeGenInstruction &InstInfo = CDP.getTargetInfo().getInstruction(Operator); in GetNumNodeResults() local
1199 unsigned NumDefsToAdd = InstInfo.Operands.NumDefs; in GetNumNodeResults()
1202 for (unsigned i = 0; i != InstInfo.Operands.NumDefs; ++i) { in GetNumNodeResults()
1203 Record *OperandNode = InstInfo.Operands[i].Rec; in GetNumNodeResults()
1211 if (InstInfo.HasOneImplicitDefWithKnownVT(CDP.getTargetInfo()) !=MVT::Other) in GetNumNodeResults()
1778 CodeGenInstruction &InstInfo = in ApplyTypeConstraints() local
1785 unsigned NumResultsToAdd = std::min(InstInfo.Operands.NumDefs, in ApplyTypeConstraints()
1792 if (!InstInfo.ImplicitDefs.empty()) { in ApplyTypeConstraints()
1798 InstInfo.HasOneImplicitDefWithKnownVT(CDP.getTargetInfo()); in ApplyTypeConstraints()
1897 if (!InstInfo.Operands.isVariadic && ChildNo != getNumChildren()) { in ApplyTypeConstraints()
2789 static bool InferFromPattern(CodeGenInstruction &InstInfo, in InferFromPattern() argument
2795 if (InstInfo.hasUndefFlags()) in InferFromPattern()
2796 InstInfo.InferredFrom = PatDef; in InferFromPattern()
2799 if (InstInfo.hasSideEffects != PatInfo.hasSideEffects && in InferFromPattern()
2800 !InstInfo.hasSideEffects_Unset) { in InferFromPattern()
2804 if (!InstInfo.hasSideEffects) { in InferFromPattern()
2807 Twine(InstInfo.hasSideEffects)); in InferFromPattern()
2811 if (InstInfo.mayStore != PatInfo.mayStore && !InstInfo.mayStore_Unset) { in InferFromPattern()
2814 Twine(InstInfo.mayStore)); in InferFromPattern()
2817 if (InstInfo.mayLoad != PatInfo.mayLoad && !InstInfo.mayLoad_Unset) { in InferFromPattern()
2820 if (!InstInfo.mayLoad) { in InferFromPattern()
2823 Twine(InstInfo.mayLoad)); in InferFromPattern()
2828 InstInfo.hasSideEffects |= PatInfo.hasSideEffects; in InferFromPattern()
2829 InstInfo.mayStore |= PatInfo.mayStore; in InferFromPattern()
2830 InstInfo.mayLoad |= PatInfo.mayLoad; in InferFromPattern()
2833 InstInfo.isBitcast |= PatInfo.isBitcast; in InferFromPattern()
3085 CodeGenInstruction &InstInfo = Target.getInstruction(Instrs[i]); in ParseInstructions() local
3087 if (InstInfo.Operands.size() != 0) { in ParseInstructions()
3088 for (unsigned j = 0, e = InstInfo.Operands.NumDefs; j < e; ++j) in ParseInstructions()
3089 Results.push_back(InstInfo.Operands[j].Rec); in ParseInstructions()
3092 for (unsigned j = InstInfo.Operands.NumDefs, in ParseInstructions()
3093 e = InstInfo.Operands.size(); j < e; ++j) in ParseInstructions()
3094 Operands.push_back(InstInfo.Operands[j].Rec); in ParseInstructions()
3218 CodeGenInstruction &InstInfo = in InferInstructionFlags() local
3222 const TreePattern *Pattern = getInstruction(InstInfo.TheDef).getPattern(); in InferInstructionFlags()
3224 if (InstInfo.hasUndefFlags()) in InferInstructionFlags()
3225 Revisit.push_back(&InstInfo); in InferInstructionFlags()
3230 Errors += InferFromPattern(InstInfo, PatInfo, InstInfo.TheDef); in InferInstructionFlags()
3246 CodeGenInstruction &InstInfo = Target.getInstruction(PatInstrs.front()); in InferInstructionFlags() local
3249 if (InstInfo.InferredFrom) in InferInstructionFlags()
3254 Errors += InferFromPattern(InstInfo, PatInfo, PTM.getSrcRecord()); in InferInstructionFlags()
3263 CodeGenInstruction &InstInfo = *Revisit[i]; in InferInstructionFlags() local
3264 if (InstInfo.InferredFrom) in InferInstructionFlags()
3268 if (InstInfo.hasSideEffects_Unset) in InferInstructionFlags()
3269 InstInfo.hasSideEffects = true; in InferInstructionFlags()
3276 CodeGenInstruction &InstInfo = *Revisit[i]; in InferInstructionFlags() local
3277 if (InstInfo.InferredFrom) in InferInstructionFlags()
3279 if (InstInfo.hasSideEffects_Unset) in InferInstructionFlags()
3280 PrintError(InstInfo.TheDef->getLoc(), in InferInstructionFlags()
3282 if (InstInfo.mayStore_Unset) in InferInstructionFlags()
3283 PrintError(InstInfo.TheDef->getLoc(), in InferInstructionFlags()
3285 if (InstInfo.mayLoad_Unset) in InferInstructionFlags()
3286 PrintError(InstInfo.TheDef->getLoc(), in InferInstructionFlags()
3307 const CodeGenInstruction &InstInfo = Target.getInstruction(Instrs[i]); in VerifyInstructionFlags() local
3308 NumSideEffects += InstInfo.hasSideEffects; in VerifyInstructionFlags()
3309 NumStores += InstInfo.mayStore; in VerifyInstructionFlags()
3310 NumLoads += InstInfo.mayLoad; in VerifyInstructionFlags()
3347 const CodeGenInstruction &InstInfo = Target.getInstruction(Instrs[i]); in VerifyInstructionFlags() local
3348 if (InstInfo.InferredFrom && in VerifyInstructionFlags()
3349 InstInfo.InferredFrom != InstInfo.TheDef && in VerifyInstructionFlags()
3350 InstInfo.InferredFrom != PTM.getSrcRecord()) in VerifyInstructionFlags()
3351 PrintError(InstInfo.InferredFrom->getLoc(), "inferred from patttern"); in VerifyInstructionFlags()