Lines Matching refs:TP

374   if (In.empty() || Out == In || TP.hasError())  in MergeInTypeInfo()
383 TP.error("Type contradiction"); in MergeInTypeInfo()
390 if (TP.hasError()) in forceArbitrary()
409 if (TP.hasError()) in EnforceInteger()
419 if (TP.hasError()) in EnforceFloatingPoint()
429 if (TP.hasError()) in EnforceScalar()
439 if (TP.hasError()) in EnforceVector()
449 if (TP.hasError() || !Out.empty()) in EnforceAny()
488 if (TP.hasError()) in EnforceSmallerThan()
533 TP.error("Incompatible types"); in EnforceSmallerThan()
608 if (TP.hasError()) in EnforceVectorEltTypeIs()
660 if (TP.hasError()) in EnforceVectorSubVectorTypeIs()
728 if (TP.hasError()) in EnforceSameNumElts()
781 if (TP.hasError()) in EnforceSameSize()
883 const TypeSetByHwMode &LTS = TP.getDAGPatterns().getLegalTypes(); in getLegalTypes()
899 Infer.TP.dump(); in ~ValidateOnExit()
901 Infer.TP.getRecord()->dump(); in ~ValidateOnExit()
902 PrintFatalError(Infer.TP.getRecord()->getLoc(), in ~ValidateOnExit()
904 Infer.TP.getRecord()->getName() + "'"); in ~ValidateOnExit()
1642 TreePattern &TP) const { in ApplyTypeConstraint()
1643 if (TP.hasError()) in ApplyTypeConstraint()
1648 TypeInfer &TI = TP.getInfer(); in ApplyTypeConstraint()
1653 return NodeToApply->UpdateNodeType(ResNo, VVT, TP); in ApplyTypeConstraint()
1656 return NodeToApply->UpdateNodeType(ResNo, MVT::iPTR, TP); in ApplyTypeConstraint()
1671 OtherNode->getExtType(OResNo), TP) | in ApplyTypeConstraint()
1673 NodeToApply->getExtType(ResNo), TP); in ApplyTypeConstraint()
1682 TP.error(N->getOperator()->getName() + " expects a VT operand!"); in ApplyTypeConstraint()
1686 const CodeGenTarget &T = TP.getDAGPatterns().getTargetInfo(); in ApplyTypeConstraint()
1755 TreePattern &TP) { in UpdateNodeTypeFromInst() argument
1764 const CodeGenTarget &T = TP.getDAGPatterns().getTargetInfo(); in UpdateNodeTypeFromInst()
1765 return UpdateNodeType(ResNo, getValueTypeByHwMode(R, T.getHwModes()), TP); in UpdateNodeTypeFromInst()
1770 return UpdateNodeType(ResNo, MVT::iPTR, TP); in UpdateNodeTypeFromInst()
1781 CodeGenTarget &Tgt = TP.getDAGPatterns().getTargetInfo(); in UpdateNodeTypeFromInst()
1782 return UpdateNodeType(ResNo, Tgt.getRegisterClass(RC).getValueTypes(), TP); in UpdateNodeTypeFromInst()
1785 bool TreePatternNode::ContainsUnresolvedType(TreePattern &TP) const { in ContainsUnresolvedType()
1787 if (!TP.getInfer().isConcrete(Types[i], true)) in ContainsUnresolvedType()
1790 if (getChild(i)->ContainsUnresolvedType(TP)) in ContainsUnresolvedType()
2090 TreePatternNodePtr T, TreePattern &TP, in InlinePatternFragments() argument
2093 if (TP.hasError()) in InlinePatternFragments()
2114 Child->InlinePatternFragments(Child, TP, ChildAlternatives[i]); in InlinePatternFragments()
2172 TreePattern *Frag = TP.getDAGPatterns().getPatternFragment(Op); in InlinePatternFragments()
2176 TP.error("'" + Op->getName() + "' fragment requires " + in InlinePatternFragments()
2184 Scope = TP.getDAGPatterns().allocateScope(); in InlinePatternFragments()
2212 FragTree->UpdateNodeType(i, getExtType(i), TP); in InlinePatternFragments()
2220 FragTree->InlinePatternFragments(FragTree, TP, OutAlternatives); in InlinePatternFragments()
2239 TreePattern &TP) { in getImplicitType() argument
2240 CodeGenDAGPatterns &CDP = TP.getDAGPatterns(); in getImplicitType()
2248 const CodeGenTarget &T = TP.getDAGPatterns().getTargetInfo(); in getImplicitType()
2264 const CodeGenTarget &T = TP.getDAGPatterns().getTargetInfo(); in getImplicitType()
2278 const CodeGenTarget &T = TP.getDAGPatterns().getTargetInfo(); in getImplicitType()
2323 TP.getInfer().expandOverloads(VTS); in getImplicitType()
2340 TP.error("Unknown node flavor used in pattern: " + R->getName()); in getImplicitType()
2454 static void emitTooManyOperandsError(TreePattern &TP, in emitTooManyOperandsError() argument
2458 TP.error("Instruction '" + InstName + "' was provided " + Twine(Actual) + in emitTooManyOperandsError()
2462 static void emitTooFewOperandsError(TreePattern &TP, in emitTooFewOperandsError() argument
2465 TP.error("Instruction '" + InstName + in emitTooFewOperandsError()
2472 bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) { in ApplyTypeConstraints() argument
2473 if (TP.hasError()) in ApplyTypeConstraints()
2476 CodeGenDAGPatterns &CDP = TP.getDAGPatterns(); in ApplyTypeConstraints()
2484 !hasName(), TP), TP); in ApplyTypeConstraints()
2492 bool MadeChange = TP.getInfer().EnforceInteger(Types[0]); in ApplyTypeConstraints()
2494 if (!TP.getInfer().isConcrete(Types[0], false)) in ApplyTypeConstraints()
2497 ValueTypeByHwMode VVT = TP.getInfer().getConcrete(Types[0], false); in ApplyTypeConstraints()
2513 TP.error("Integer value '" + Twine(II->getValue()) + in ApplyTypeConstraints()
2531 MadeChange |= UpdateNodeType(i, Int->IS.RetVTs[i], TP); in ApplyTypeConstraints()
2534 TP.error("Intrinsic '" + Int->Name + "' expects " + Twine(NumParamVTs) + in ApplyTypeConstraints()
2540 MadeChange |= getChild(0)->UpdateNodeType(0, MVT::iPTR, TP); in ApplyTypeConstraints()
2543 MadeChange |= getChild(i+1)->ApplyTypeConstraints(TP, NotRegisters); in ApplyTypeConstraints()
2547 MadeChange |= getChild(i+1)->UpdateNodeType(0, OpVT, TP); in ApplyTypeConstraints()
2558 TP.error(getOperator()->getName() + " node requires exactly " + in ApplyTypeConstraints()
2565 MadeChange |= getChild(i)->ApplyTypeConstraints(TP, NotRegisters); in ApplyTypeConstraints()
2566 MadeChange |= NI.ApplyTypeConstraints(this, TP); in ApplyTypeConstraints()
2582 MadeChange |= UpdateNodeTypeFromInst(ResNo, Inst.getResult(ResNo), TP); in ApplyTypeConstraints()
2595 MadeChange |= UpdateNodeType(ResNo, VT, TP); in ApplyTypeConstraints()
2602 MadeChange |= UpdateNodeType(0, getChild(0)->getExtType(0), TP); in ApplyTypeConstraints()
2603 MadeChange |= getChild(0)->UpdateNodeType(0, getExtType(0), TP); in ApplyTypeConstraints()
2610 TP.error("REG_SEQUENCE requires at least 3 operands!"); in ApplyTypeConstraints()
2615 TP.error("REG_SEQUENCE requires an odd number of operands!"); in ApplyTypeConstraints()
2620 TP.error("REG_SEQUENCE requires a RegisterClass for first operand!"); in ApplyTypeConstraints()
2627 TP.error("REG_SEQUENCE requires a SubRegIndex for operand " + in ApplyTypeConstraints()
2665 emitTooFewOperandsError(TP, getOperator()->getName(), getNumChildren()); in ApplyTypeConstraints()
2684 Child->UpdateNodeTypeFromInst(ChildResNo, SubRec, TP); in ApplyTypeConstraints()
2689 emitTooFewOperandsError(TP, getOperator()->getName(), in ApplyTypeConstraints()
2697 Child->UpdateNodeTypeFromInst(ChildResNo, SubRec, TP); in ApplyTypeConstraints()
2706 MadeChange |= Child->UpdateNodeTypeFromInst(ChildResNo, OperandNode, TP); in ApplyTypeConstraints()
2710 emitTooManyOperandsError(TP, getOperator()->getName(), in ApplyTypeConstraints()
2716 MadeChange |= getChild(i)->ApplyTypeConstraints(TP, NotRegisters); in ApplyTypeConstraints()
2736 MadeChange |= UpdateNodeType(0, VVT, TP); in ApplyTypeConstraints()
2740 MadeChange |= getChild(i)->ApplyTypeConstraints(TP, NotRegisters); in ApplyTypeConstraints()
2749 TP.error("Node transform '" + getOperator()->getName() + in ApplyTypeConstraints()
2754 bool MadeChange = getChild(0)->ApplyTypeConstraints(TP, NotRegisters); in ApplyTypeConstraints()
4217 static bool ForceArbitraryInstResultType(TreePatternNode *N, TreePattern &TP) { in ForceArbitraryInstResultType() argument
4223 if (ForceArbitraryInstResultType(N->getChild(i), TP)) in ForceArbitraryInstResultType()
4231 TypeInfer &TI = TP.getInfer(); in ForceArbitraryInstResultType()