Add a getAddressSpace method to the GEP instruction to mirror that of
authorChandler Carruth <chandlerc@gmail.com>
Thu, 1 Nov 2012 11:25:55 +0000 (11:25 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 1 Nov 2012 11:25:55 +0000 (11:25 +0000)
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

include/llvm/Instructions.h

index 9cfb89fe9f7c83be42ef1b1358a7c14f2d162671..69593b48c1f16ce55ac52441859132c883b97d35 100644 (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();
   }