Make MachineOperand's value named 'contents'.  Make really, really sure
it is always completely initialized and copied.
Also, fix up many comments and asserts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12100 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index b2b3caa..38cd62e 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -100,7 +100,7 @@
                                         Value* V) {
   assert(i < operands.size());          // may be explicit or implicit op
   operands[i].opType = opTy;
-  operands[i].value = V;
+  operands[i].contents.value = V;
   operands[i].regNum = -1;
 }
 
@@ -113,8 +113,8 @@
          "immed. constant cannot be defined");
 
   operands[i].opType = opTy;
-  operands[i].value = NULL;
-  operands[i].immedVal = intValue;
+  operands[i].contents.value = NULL;
+  operands[i].contents.immedVal = intValue;
   operands[i].regNum = -1;
   operands[i].flags = 0;
 }
@@ -123,7 +123,7 @@
   assert(i < getNumOperands());          // must be explicit op
 
   operands[i].opType = MachineOperand::MO_MachineRegister;
-  operands[i].value = NULL;
+  operands[i].contents.value = NULL;
   operands[i].regNum = regNum;
 }
 
@@ -162,7 +162,7 @@
           notDefsAndUses && (O.isDef() && !O.isUse()) ||
           !notDefsAndUses && O.isDef())
         {
-          O.getMachineOperand().value = newVal;
+          O.getMachineOperand().contents.value = newVal;
           ++numSubst;
         }
       else
@@ -175,7 +175,7 @@
           notDefsAndUses && (getImplicitOp(i).isDef() && !getImplicitOp(i).isUse()) ||
           !notDefsAndUses && getImplicitOp(i).isDef())
         {
-          getImplicitOp(i).value = newVal;
+          getImplicitOp(i).contents.value = newVal;
           ++numSubst;
         }
       else