private:
union {
- 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
- unsigned RegNo; // For MO_Register number for an explicit register
+ GlobalValue *GV; // For MO_GlobalAddress.
+ MachineBasicBlock *MBB; // For MO_MachineBasicBlock.
+ const char *SymbolName; // For MO_ExternalSymbol.
+ unsigned RegNo; // For MO_Register.
+ int64_t immedVal; // For MO_Immediate and MO_*Index.
} contents;
char flags; // see bit field definitions above
//
// Methods common to all machine instructions.
//
-// FIXME: Now that MachineInstrs have parent pointers, they should always
-// print themselves using their MachineFunction's TargetMachine.
-//
//===----------------------------------------------------------------------===//
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineFunction.h"
-#include "llvm/Value.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/MRegisterInfo.h"