• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/llvmCore-3425.0.34/utils/TableGen/

Lines Matching defs:Pat

1701 TreePattern::TreePattern(Record *TheRec, DagInit *Pat, bool isInput,
1704 Trees.push_back(ParseTreePattern(Pat, ""));
1707 TreePattern::TreePattern(Record *TheRec, TreePatternNode *Pat, bool isInput,
1710 Trees.push_back(Pat);
1939 // def : Pat<(v1i64 (bitconvert(v2i32 DPR:$src))), (v1i64 DPR:$src)>;
2214 /// HandleUse - Given "Pat" a leaf in the pattern, check to see if it is an
2216 static bool HandleUse(TreePattern *I, TreePatternNode *Pat,
2219 if (Pat->getName().empty()) {
2220 if (Pat->isLeaf()) {
2221 DefInit *DI = dynamic_cast<DefInit*>(Pat->getLeafValue());
2230 if (Pat->isLeaf()) {
2231 DefInit *DI = dynamic_cast<DefInit*>(Pat->getLeafValue());
2232 if (!DI) I->error("Input $" + Pat->getName() + " must be an identifier!");
2235 Rec = Pat->getOperator();
2242 TreePatternNode *&Slot = InstInputs[Pat->getName()];
2244 Slot = Pat;
2257 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2258 if (Slot->getExtTypes() != Pat->getExtTypes())
2259 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2267 FindPatternInputsAndOutputs(TreePattern *I, TreePatternNode *Pat,
2271 if (Pat->isLeaf()) {
2272 bool isUse = HandleUse(I, Pat, InstInputs);
2273 if (!isUse && Pat->getTransformFn())
2278 if (Pat->getOperator()->getName() == "implicit") {
2279 for (unsigned i = 0, e = Pat->getNumChildren(); i != e; ++i) {
2280 TreePatternNode *Dest = Pat->getChild(i);
2292 if (Pat->getOperator()->getName() != "set") {
2295 for (unsigned i = 0, e = Pat->getNumChildren(); i != e; ++i) {
2296 if (Pat->getChild(i)->getNumTypes() == 0)
2298 FindPatternInputsAndOutputs(I, Pat->getChild(i), InstInputs, InstResults,
2304 bool isUse = HandleUse(I, Pat, InstInputs);
2306 if (!isUse && Pat->getTransformFn())
2312 if (Pat->getNumChildren() == 0)
2315 if (Pat->getTransformFn())
2319 unsigned NumDests = Pat->getNumChildren()-1;
2321 TreePatternNode *Dest = Pat->getChild(i);
2345 FindPatternInputsAndOutputs(I, Pat->getChild(NumDests),
2366 void Analyze(const TreePattern *Pat) {
2368 AnalyzeNode(Pat->getTree(0));
2371 void Analyze(const PatternToMatch *Pat) {
2372 AnalyzeNode(Pat->getSrcPattern());
2615 TreePatternNode *Pat = I->getTree(j);
2616 if (Pat->getNumTypes() != 0)
2621 FindPatternInputsAndOutputs(I, Pat, InstInputs, InstResults,