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

Misha Brukman brukman at cs.uiuc.edu
Mon Jul 7 17:31:01 PDT 2003


Changes in directory llvm/utils/TableGen:

CodeEmitterGen.cpp updated: 1.9 -> 1.10

---
Log message:

Stop using the `Offset' variable, as we are cycling through the bits of a field
initializer and the loop index variable already carries the offset information
that we need.


---
Diffs of the changes:

Index: llvm/utils/TableGen/CodeEmitterGen.cpp
diff -u llvm/utils/TableGen/CodeEmitterGen.cpp:1.9 llvm/utils/TableGen/CodeEmitterGen.cpp:1.10
--- llvm/utils/TableGen/CodeEmitterGen.cpp:1.9	Fri Jun  6 18:06:20 2003
+++ llvm/utils/TableGen/CodeEmitterGen.cpp	Mon Jul  7 17:30:44 2003
@@ -74,8 +74,7 @@
       }
     }
 
-    unsigned Offset = 31;
-    for (int f = Vals.size()-1; f >= 0; --f) {
+    for (unsigned f = 0, e = Vals.size(); f != e; ++f) {
       if (Vals[f].getPrefix()) {
         BitsInit *FieldInitializer = (BitsInit*)Vals[f].getValue();
 
@@ -83,18 +82,17 @@
         // variable...
         for (int i = FieldInitializer->getNumBits()-1; i >= 0; --i) {
           if (BitInit *BI=dynamic_cast<BitInit*>(FieldInitializer->getBit(i))){
-            --Offset;
+            o << "      // bit init: f: " << f << ", i: " << i << "\n";
           } else if (UnsetInit *UI = 
                      dynamic_cast<UnsetInit*>(FieldInitializer->getBit(i))) {
-            --Offset;
+            o << "      // unset init: f: " << f << ", i: " << i << "\n";
           } else if (VarBitInit *VBI =
                      dynamic_cast<VarBitInit*>(FieldInitializer->getBit(i))) {
             TypedInit *TI = VBI->getVariable();
             if (VarInit *VI = dynamic_cast<VarInit*>(TI)) {
               o << "      Value |= getValueBit(op" << OpOrder[VI->getName()]
                 << ", " << VBI->getBitNum()
-                << ")" << " << " << Offset << ";\n";
-              --Offset;
+                << ")" << " << " << i << ";\n";
             } else if (FieldInit *FI = dynamic_cast<FieldInit*>(TI)) {
               // FIXME: implement this!
               o << "FIELD INIT not implemented yet!\n";
@@ -105,8 +103,9 @@
         } 
       } else {
         // ignore annul and predict bits since no one sets them yet
-        if (Vals[f].getName() == "annul" || Vals[f].getName() == "predict")
-          --Offset;
+        if (Vals[f].getName() == "annul" || Vals[f].getName() == "predict") {
+          o << "      // found " << Vals[f].getName() << "\n";
+        }
       }
     }
 





More information about the llvm-commits mailing list