diff --git a/llvm/include/llvm/Type.h b/llvm/include/llvm/Type.h index a284d80bb5c3..e80c8760691f 100644 --- a/llvm/include/llvm/Type.h +++ b/llvm/include/llvm/Type.h @@ -364,6 +364,10 @@ public: /// void removeAbstractTypeUser(AbstractTypeUser *U) const; + /// getPointerTo - Return a pointer to the current type. This is equivalent + /// to PointerType::get(Foo, AddrSpace). + PointerType *getPointerTo(unsigned AddrSpace = 0) const; + private: /// isSizedDerivedType - Derived types like structures and arrays are sized /// iff all of the members of the type are sized as well. Since asking for diff --git a/llvm/lib/VMCore/Type.cpp b/llvm/lib/VMCore/Type.cpp index 642fc1907ef7..edd8cf35022f 100644 --- a/llvm/lib/VMCore/Type.cpp +++ b/llvm/lib/VMCore/Type.cpp @@ -1214,6 +1214,10 @@ PointerType *PointerType::get(const Type *ValueType, unsigned AddressSpace) { return PT; } +PointerType *Type::getPointerTo(unsigned addrs) const { + return PointerType::get(this, addrs); +} + //===----------------------------------------------------------------------===// // Derived Type Refinement Functions //===----------------------------------------------------------------------===//