Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Pat

1711 TreePattern::TreePattern(Record *TheRec, DagInit *Pat, bool isInput,
1714 Trees.push_back(ParseTreePattern(Pat, ""));
1717 TreePattern::TreePattern(Record *TheRec, TreePatternNode *Pat, bool isInput,
1720 Trees.push_back(Pat);
1949 // def : Pat<(v1i64 (bitconvert(v2i32 DPR:$src))), (v1i64 DPR:$src)>;
2228 /// HandleUse - Given "Pat" a leaf in the pattern, check to see if it is an
2230 static bool HandleUse(TreePattern *I, TreePatternNode *Pat,
2233 if (Pat->getName().empty()) {
2234 if (Pat->isLeaf()) {
2235 DefInit *DI = dynamic_cast<DefInit*>(Pat->getLeafValue());
2244 if (Pat->isLeaf()) {
2245 DefInit *DI = dynamic_cast<DefInit*>(Pat->getLeafValue());
2246 if (!DI) I->error("Input $" + Pat->getName() + " must be an identifier!");
2249 Rec = Pat->getOperator();
2256 TreePatternNode *&Slot = InstInputs[Pat->getName()];
2258 Slot = Pat;
2271 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2272 if (Slot->getExtTypes() != Pat->getExtTypes())
2273 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2281 FindPatternInputsAndOutputs(TreePattern *I, TreePatternNode *Pat,
2285 if (Pat->isLeaf()) {
2286 bool isUse = HandleUse(I, Pat, InstInputs);
2287 if (!isUse && Pat->getTransformFn())
2292 if (Pat->getOperator()->getName() == "implicit") {
2293 for (unsigned i = 0, e = Pat->getNumChildren(); i != e; ++i) {
2294 TreePatternNode *Dest = Pat->getChild(i);
2306 if (Pat->getOperator()->getName() != "set") {
2309 for (unsigned i = 0, e = Pat->getNumChildren(); i != e; ++i) {
2310 if (Pat->getChild(i)->getNumTypes() == 0)
2312 FindPatternInputsAndOutputs(I, Pat->getChild(i), InstInputs, InstResults,
2318 bool isUse = HandleUse(I, Pat, InstInputs);
2320 if (!isUse && Pat->getTransformFn())
2326 if (Pat->getNumChildren() == 0)
2329 if (Pat->getTransformFn())
2333 unsigned NumDests = Pat->getNumChildren()-1;
2335 TreePatternNode *Dest = Pat->getChild(i);
2359 FindPatternInputsAndOutputs(I, Pat->getChild(NumDests),
2588 TreePatternNode *Pat = I->getTree(j);
2589 if (Pat->getNumTypes() != 0)
2594 FindPatternInputsAndOutputs(I, Pat, InstInputs, InstResults,