diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-21 04:23:39 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-21 04:23:39 +0000 |
commit | 187f6534183845a4ab6ff514ebd6309db956f852 (patch) | |
tree | d6aa7575211fb5272af9efc3d12f92602541bbc9 /llvm/lib/CodeGen/MachineInstr.cpp | |
parent | 191efcfc638957fecbdfe3c79ec97b0be5b66b86 (diff) | |
download | llvm-187f6534183845a4ab6ff514ebd6309db956f852.zip llvm-187f6534183845a4ab6ff514ebd6309db956f852.tar.gz llvm-187f6534183845a4ab6ff514ebd6309db956f852.tar.bz2 |
refactor the Value*/offset pair from MachineMemOperand out to a new
MachinePointerInfo struct, no functionality change.
This also adds an assert to MachineMemOperand::MachineMemOperand
that verifies that the Value* is either null or is an IR pointer type.
llvm-svn: 114389
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index 446e461..08871b0 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -337,8 +337,9 @@ void MachineOperand::print(raw_ostream &OS, const TargetMachine *TM) const { MachineMemOperand::MachineMemOperand(const Value *v, unsigned int f, int64_t o, uint64_t s, unsigned int a) - : Offset(o), Size(s), V(v), + : PtrInfo(v, o), Size(s), Flags((f & ((1 << MOMaxBits) - 1)) | ((Log2_32(a) + 1) << MOMaxBits)) { + assert((v == 0 || isa<PointerType>(v->getType())) && "invalid pointer value"); assert(getBaseAlignment() == a && "Alignment is not a power of 2!"); assert((isLoad() || isStore()) && "Not a load/store!"); } @@ -346,9 +347,9 @@ MachineMemOperand::MachineMemOperand(const Value *v, unsigned int f, /// Profile - Gather unique data for the object. /// void MachineMemOperand::Profile(FoldingSetNodeID &ID) const { - ID.AddInteger(Offset); + ID.AddInteger(getOffset()); ID.AddInteger(Size); - ID.AddPointer(V); + ID.AddPointer(getValue()); ID.AddInteger(Flags); } @@ -364,8 +365,7 @@ void MachineMemOperand::refineAlignment(const MachineMemOperand *MMO) { ((Log2_32(MMO->getBaseAlignment()) + 1) << MOMaxBits); // Also update the base and offset, because the new alignment may // not be applicable with the old ones. - V = MMO->getValue(); - Offset = MMO->getOffset(); + PtrInfo = MMO->PtrInfo; } } |