diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-21 04:32:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-21 04:32:08 +0000 |
commit | da39c3964423744b4d79aebef8bece3e9141d5fc (patch) | |
tree | 7c6b86b1c4e76697098e115dfd3adbad11ec04f8 /lib | |
parent | e8e2e80f40495fdd5ad475beb54fcf0989b6b7c5 (diff) |
start pushing MachinePointerInfo out through the MachineMemOperand interface
to the MachineFunction construction methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114390 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 16 | ||||
-rw-r--r-- | lib/CodeGen/MachineInstr.cpp | 9 |
2 files changed, 16 insertions, 9 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 017170076c..75edd25188 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -193,17 +193,23 @@ MachineMemOperand * MachineFunction::getMachineMemOperand(const Value *v, unsigned f, int64_t o, uint64_t s, unsigned base_alignment) { - return new (Allocator) MachineMemOperand(v, f, o, s, base_alignment); + return new (Allocator) MachineMemOperand(MachinePointerInfo(v, o), f, + s, base_alignment); +} + +MachineMemOperand * +MachineFunction::getMachineMemOperand(MachinePointerInfo PtrInfo, unsigned f, + uint64_t s, unsigned base_alignment) { + return new (Allocator) MachineMemOperand(PtrInfo, f, s, base_alignment); } MachineMemOperand * MachineFunction::getMachineMemOperand(const MachineMemOperand *MMO, int64_t Offset, uint64_t Size) { return new (Allocator) - MachineMemOperand(MMO->getValue(), MMO->getFlags(), - int64_t(uint64_t(MMO->getOffset()) + - uint64_t(Offset)), - Size, MMO->getBaseAlignment()); + MachineMemOperand(MachinePointerInfo(MMO->getValue(), + MMO->getOffset()+Offset), + MMO->getFlags(), Size, MMO->getBaseAlignment()); } MachineInstr::mmo_iterator diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index 08871b0a7b..a953597c7e 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -335,11 +335,12 @@ void MachineOperand::print(raw_ostream &OS, const TargetMachine *TM) const { // MachineMemOperand Implementation //===----------------------------------------------------------------------===// -MachineMemOperand::MachineMemOperand(const Value *v, unsigned int f, - int64_t o, uint64_t s, unsigned int a) - : PtrInfo(v, o), Size(s), +MachineMemOperand::MachineMemOperand(MachinePointerInfo ptrinfo, unsigned f, + uint64_t s, unsigned int a) + : PtrInfo(ptrinfo), Size(s), Flags((f & ((1 << MOMaxBits) - 1)) | ((Log2_32(a) + 1) << MOMaxBits)) { - assert((v == 0 || isa<PointerType>(v->getType())) && "invalid pointer value"); + assert((PtrInfo.V == 0 || isa<PointerType>(PtrInfo.V->getType())) && + "invalid pointer value"); assert(getBaseAlignment() == a && "Alignment is not a power of 2!"); assert((isLoad() || isStore()) && "Not a load/store!"); } |