[llvm-commits] [llvm] r96639 - /llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp

Chris Lattner sabre at nondot.org
Thu Feb 18 16:33:13 PST 2010


Author: lattner
Date: Thu Feb 18 18:33:13 2010
New Revision: 96639

URL: http://llvm.org/viewvc/llvm-project?rev=96639&view=rev
Log:
I confused myself, temporaries will be recorded right along with other inputs.

Modified:
    llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp

Modified: llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp?rev=96639&r1=96638&r2=96639&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp (original)
+++ llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp Thu Feb 18 18:33:13 2010
@@ -21,35 +21,15 @@
   /// matcher or it can be a temporary value created by the emitter for things
   /// like constants.
   class ResultVal {
-    unsigned Number : 30;
-    enum {
-      Recorded, Temporary
-    } Kind : 2; // True if temporary, false if recorded.
+    unsigned Number;
   public:
-    static ResultVal getRecorded(unsigned N) {
+    static ResultVal get(unsigned N) {
       ResultVal R;
       R.Number = N;
-      R.Kind = Recorded;
-      return R;
-    }
-    
-    static ResultVal getTemp(unsigned N) {
-      ResultVal R;
-      R.Number = N;
-      R.Kind = Temporary;
       return R;
     }
 
-    bool isTemp() const { return Kind == Temporary; }
-    bool isRecorded() const { return Kind == Recorded; }
-    
-    unsigned getTempNo() const {
-      assert(isTemp());
-      return Number;
-    }
-
-    unsigned getRecordedNo() const {
-      assert(isRecorded());
+    unsigned getNumber() const {
       return Number;
     }
   };
@@ -74,10 +54,6 @@
     /// record into.
     unsigned NextRecordedOperandNo;
     
-    /// NextTemporary - As we generate code, this indicates the next temporary
-    /// ID that will be generated.
-    unsigned NextTemporary;
-    
     /// InputChains - This maintains the position in the recorded nodes array of
     /// all of the recorded input chains.
     SmallVector<unsigned, 2> InputChains;
@@ -123,7 +99,7 @@
 
 MatcherGen::MatcherGen(const PatternToMatch &pattern,
                        const CodeGenDAGPatterns &cgp)
-: Pattern(pattern), CGP(cgp), NextRecordedOperandNo(0), NextTemporary(0),
+: Pattern(pattern), CGP(cgp), NextRecordedOperandNo(0),
   Matcher(0), CurPredicate(0) {
   // We need to produce the matcher tree for the patterns source pattern.  To do
   // this we need to match the structure as well as the types.  To do the type
@@ -449,7 +425,7 @@
   
   if (IntInit *II = dynamic_cast<IntInit*>(N->getLeafValue())) {
     AddMatcherNode(new EmitIntegerMatcherNode(II->getValue(),N->getTypeNum(0)));
-    ResultOps.push_back(ResultVal::getTemp(NextTemporary++));
+    ResultOps.push_back(ResultVal::get(NextRecordedOperandNo++));
     return;
   }
   
@@ -458,13 +434,13 @@
     if (DI->getDef()->isSubClassOf("Register")) {
       AddMatcherNode(new EmitRegisterMatcherNode(DI->getDef(),
                                                  N->getTypeNum(0)));
-      ResultOps.push_back(ResultVal::getTemp(NextTemporary++));
+      ResultOps.push_back(ResultVal::get(NextRecordedOperandNo++));
       return;
     }
     
     if (DI->getDef()->getName() == "zero_reg") {
       AddMatcherNode(new EmitRegisterMatcherNode(0, N->getTypeNum(0)));
-      ResultOps.push_back(ResultVal::getTemp(NextTemporary++));
+      ResultOps.push_back(ResultVal::get(NextRecordedOperandNo++));
       return;
     }
     





More information about the llvm-commits mailing list