diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-04 17:02:51 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-04 17:02:51 +0000 |
commit | ceb408f6a263e319683209ae5c6f8d1e3e4d9b69 (patch) | |
tree | 39deab158d7deec11f5cee07b3d528378766a932 /include/llvm/CodeGen/MachineInstr.h | |
parent | e45aa737ba902a5caf2f259b3116bfc7d29b2990 (diff) | |
download | llvm-ceb408f6a263e319683209ae5c6f8d1e3e4d9b69.tar.gz llvm-ceb408f6a263e319683209ae5c6f8d1e3e4d9b69.tar.bz2 llvm-ceb408f6a263e319683209ae5c6f8d1e3e4d9b69.tar.xz |
Change "value" in MachineOperand to be a GlobalValue, as that is the only
thing that can be in it. Remove a dead method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28098 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineInstr.h')
-rw-r--r-- | include/llvm/CodeGen/MachineInstr.h | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index 1059b7c3d5..a0b8d1ad43 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -74,15 +74,8 @@ public: private: union { - Value* value; // BasicBlockVal for a label operand. - // ConstantVal for a non-address immediate. - // Virtual register for an SSA operand, - // including hidden operands required for - // the generated machine code. - // LLVM global for MO_GlobalAddress. - + GlobalValue *GV; // LLVM global for MO_GlobalAddress. int64_t immedVal; // Constant value for an explicit constant - MachineBasicBlock *MBB; // For MO_MachineBasicBlock type const char *SymbolName; // For MO_ExternalSymbol type } contents; @@ -90,36 +83,32 @@ private: char flags; // see bit field definitions above MachineOperandType opType:8; // Pack into 8 bits efficiently after flags. union { - int regNum; // register number for an explicit register - // will be set for a value after reg allocation - - int offset; // Offset to address of global or external, only - // valid for MO_GlobalAddress, MO_ExternalSym - // and MO_ConstantPoolIndex + int regNum; // register number for an explicit register + int offset; // Offset to address of global or external, only + // valid for MO_GlobalAddress, MO_ExternalSym + // and MO_ConstantPoolIndex } extra; - void zeroContents () { - memset (&contents, 0, sizeof (contents)); - memset (&extra, 0, sizeof (extra)); + void zeroContents() { + contents.immedVal = 0; + extra.offset = 0; } MachineOperand(int64_t ImmVal, MachineOperandType OpTy, int Offset = 0) : flags(0), opType(OpTy) { - zeroContents (); contents.immedVal = ImmVal; extra.offset = Offset; } MachineOperand(int Reg, MachineOperandType OpTy, UseType UseTy) : flags(UseTy), opType(OpTy) { - zeroContents (); + zeroContents(); extra.regNum = Reg; } MachineOperand(GlobalValue *V, int Offset = 0) : flags(MachineOperand::Use), opType(MachineOperand::MO_GlobalAddress) { - zeroContents (); - contents.value = (Value*)V; + contents.GV = V; extra.offset = Offset; } @@ -206,7 +195,7 @@ public: } GlobalValue *getGlobal() const { assert(isGlobalAddress() && "Wrong MachineOperand accessor"); - return (GlobalValue*)contents.value; + return contents.GV; } int getOffset() const { assert((isGlobalAddress() || isExternalSymbol() || isConstantPoolIndex()) && @@ -476,10 +465,6 @@ public: // Access to set the operands when building the machine instruction // - void SetMachineOperandVal(unsigned i, - MachineOperand::MachineOperandType operandType, - Value* V); - void SetMachineOperandConst(unsigned i, MachineOperand::MachineOperandType operandType, int intValue); |