Lines Matching defs:InstInfo
1933 CodeGenInstruction &InstInfo = CDP.getTargetInfo().getInstruction(Operator);
1935 unsigned NumDefsToAdd = InstInfo.Operands.NumDefs;
1938 for (unsigned i = 0; i != InstInfo.Operands.NumDefs; ++i) {
1939 const Record *OperandNode = InstInfo.Operands[i].Rec;
1947 if (InstInfo.HasOneImplicitDefWithKnownVT(CDP.getTargetInfo()) !=
2590 CodeGenInstruction &InstInfo =
2598 std::min(InstInfo.Operands.NumDefs, Inst.getNumResults());
2604 if (!InstInfo.ImplicitDefs.empty()) {
2610 InstInfo.HasOneImplicitDefWithKnownVT(CDP.getTargetInfo());
2653 unsigned NumFixedOperands = InstInfo.Operands.size();
2666 InstInfo.Operands[NonOverridableOperands - 1].Rec))
2672 const Record *OperandNode = InstInfo.Operands[i].Rec;
2727 if (!InstInfo.Operands.isVariadic && ChildNo != getNumChildren()) {
3677 static bool InferFromPattern(CodeGenInstruction &InstInfo,
3682 // Remember where InstInfo got its flags.
3683 if (InstInfo.hasUndefFlags())
3684 InstInfo.InferredFrom = PatDef;
3687 if (InstInfo.hasSideEffects != PatInfo.hasSideEffects &&
3688 !InstInfo.hasSideEffects_Unset) {
3692 if (!InstInfo.hasSideEffects) {
3695 Twine(InstInfo.hasSideEffects));
3699 if (InstInfo.mayStore != PatInfo.mayStore && !InstInfo.mayStore_Unset) {
3702 "Pattern doesn't match mayStore = " + Twine(InstInfo.mayStore));
3705 if (InstInfo.mayLoad != PatInfo.mayLoad && !InstInfo.mayLoad_Unset) {
3708 if (!InstInfo.mayLoad) {
3711 "Pattern doesn't match mayLoad = " + Twine(InstInfo.mayLoad));
3716 InstInfo.hasSideEffects |= PatInfo.hasSideEffects;
3717 InstInfo.mayStore |= PatInfo.mayStore;
3718 InstInfo.mayLoad |= PatInfo.mayLoad;
3724 InstInfo.isBitcast |= PatInfo.isBitcast;
3725 InstInfo.hasChain |= PatInfo.hasChain;
3726 InstInfo.hasChain_Inferred = true;
4009 CodeGenInstruction &InstInfo = Target.getInstruction(Instr);
4011 if (InstInfo.Operands.size() != 0) {
4012 for (unsigned j = 0, e = InstInfo.Operands.NumDefs; j < e; ++j)
4013 Results.push_back(InstInfo.Operands[j].Rec);
4016 for (unsigned j = InstInfo.Operands.NumDefs,
4017 e = InstInfo.Operands.size();
4019 Operands.push_back(InstInfo.Operands[j].Rec);
4126 CodeGenInstruction &InstInfo = Target.getInstruction(PatInstrs.front());
4129 if (InstInfo.InferredFrom)
4134 Errors += InferFromPattern(InstInfo, PatInfo, PTM.getSrcRecord());
4143 CodeGenInstruction *InstInfo =
4145 if (InstInfo->InferredFrom)
4149 if (InstInfo->hasSideEffects_Unset)
4150 InstInfo->hasSideEffects = true;
4157 CodeGenInstruction *InstInfo =
4159 if (InstInfo->InferredFrom)
4161 if (InstInfo->hasSideEffects_Unset)
4162 PrintError(InstInfo->TheDef->getLoc(),
4164 if (InstInfo->mayStore_Unset)
4165 PrintError(InstInfo->TheDef->getLoc(),
4167 if (InstInfo->mayLoad_Unset)
4168 PrintError(InstInfo->TheDef->getLoc(),
4187 const CodeGenInstruction &InstInfo = Target.getInstruction(Instr);
4188 NumSideEffects += InstInfo.hasSideEffects;
4189 NumStores += InstInfo.mayStore;
4190 NumLoads += InstInfo.mayLoad;
4228 const CodeGenInstruction &InstInfo = Target.getInstruction(Instr);
4229 if (InstInfo.InferredFrom && InstInfo.InferredFrom != InstInfo.TheDef &&
4230 InstInfo.InferredFrom != PTM.getSrcRecord())
4231 PrintError(InstInfo.InferredFrom->getLoc(), "inferred from pattern");