Add a getAddressSpace method to the GEP instruction to mirror that of

the inttoptr instruction. The conceptual model here is that
'getAddressSpace' refers to the address space of this instruction's
type. It just happens that for GEPs, that is always the same as the
pointer operand's address space. We want both names so that access
patterns can be consistent between different instruction types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167229 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2012-11-01 11:25:55 +00:00
parent d988b75c44
commit 174fbec3df

View File

@ -766,6 +766,13 @@ public:
return reinterpret_cast<PointerType*>(Instruction::getType());
}
/// \brief Returns the address space of this instruction's pointer type.
unsigned getAddressSpace() const {
// Note that this is always the same as the pointer operand's address space
// and that is cheaper to compute, so cheat here.
return getPointerAddressSpace();
}
/// getIndexedType - Returns the type of the element that would be loaded with
/// a load instruction with the specified parameters.
///
@ -3606,7 +3613,7 @@ public:
/// \brief Clone an identical IntToPtrInst
virtual IntToPtrInst *clone_impl() const;
/// \brief return the address space of the pointer.
/// \brief Returns the address space of this instruction's pointer type.
unsigned getAddressSpace() const {
return getType()->getPointerAddressSpace();
}