[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Nov 17 09:44:05 PST 2005



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.75 -> 1.76
---
Log message:

Validate that the input to 'Pat' patterns is sane.


---
Diffs of the changes:  (+8 -0)

 DAGISelEmitter.cpp |    8 ++++++++
 1 files changed, 8 insertions(+)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.75 llvm/utils/TableGen/DAGISelEmitter.cpp:1.76
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.75	Thu Nov 17 01:39:45 2005
+++ llvm/utils/TableGen/DAGISelEmitter.cpp	Thu Nov 17 11:43:52 2005
@@ -1212,6 +1212,14 @@
     // never do anything with this pattern: report it to the user.
     if (!Pattern->InferAllTypes())
       Pattern->error("Could not infer all types in pattern!");
+
+    // Validate that the input pattern is correct.
+    {
+      std::map<std::string, TreePatternNode*> InstInputs;
+      std::map<std::string, Record*> InstResults;
+      FindPatternInputsAndOutputs(Pattern, Pattern->getOnlyTree(),
+                                  InstInputs, InstResults);
+    }
     
     ListInit *LI = Patterns[i]->getValueAsListInit("ResultInstrs");
     if (LI->getSize() == 0) continue;  // no pattern.






More information about the llvm-commits mailing list