diff --git a/llvm/include/llvm/IR/Type.h b/llvm/include/llvm/IR/Type.h --- a/llvm/include/llvm/IR/Type.h +++ b/llvm/include/llvm/IR/Type.h @@ -481,24 +481,69 @@ static Type *getFloatingPointTy(LLVMContext &C, const fltSemantics &S); //===--------------------------------------------------------------------===// - // Convenience methods for getting pointer types with one of the above builtin - // types as pointee. + // Convenience methods for getting pointer types. // - static PointerType *getHalfPtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getBFloatPtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getFloatPtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getDoublePtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getX86_FP80PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getFP128PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getPPC_FP128PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getX86_MMXPtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getX86_AMXPtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getIntNPtrTy(LLVMContext &C, unsigned N, unsigned AS = 0); - static PointerType *getInt1PtrTy(LLVMContext &C, unsigned AS = 0); + + // TODO: After opaque pointer transition these can be replaced by simply + // calling PointerType::get(C, AS). static PointerType *getInt8PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getInt16PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getInt32PtrTy(LLVMContext &C, unsigned AS = 0); - static PointerType *getInt64PtrTy(LLVMContext &C, unsigned AS = 0); + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getHalfPtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getBFloatPtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getFloatPtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getDoublePtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getX86_FP80PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getFP128PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getPPC_FP128PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getX86_MMXPtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getX86_AMXPtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getIntNPtrTy(LLVMContext &C, unsigned N, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getInt1PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getInt16PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getInt32PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + [[deprecated("Pointers no longer have element types")]] + inline PointerType *getInt64PtrTy(LLVMContext &C, unsigned AS = 0) { + return getInt8PtrTy(C, AS); + } + static Type *getWasm_ExternrefTy(LLVMContext &C); static Type *getWasm_FuncrefTy(LLVMContext &C); diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp --- a/llvm/lib/IR/Type.cpp +++ b/llvm/lib/IR/Type.cpp @@ -254,64 +254,8 @@ return IntegerType::get(C, N); } -PointerType *Type::getHalfPtrTy(LLVMContext &C, unsigned AS) { - return getHalfTy(C)->getPointerTo(AS); -} - -PointerType *Type::getBFloatPtrTy(LLVMContext &C, unsigned AS) { - return getBFloatTy(C)->getPointerTo(AS); -} - -PointerType *Type::getFloatPtrTy(LLVMContext &C, unsigned AS) { - return getFloatTy(C)->getPointerTo(AS); -} - -PointerType *Type::getDoublePtrTy(LLVMContext &C, unsigned AS) { - return getDoubleTy(C)->getPointerTo(AS); -} - -PointerType *Type::getX86_FP80PtrTy(LLVMContext &C, unsigned AS) { - return getX86_FP80Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getFP128PtrTy(LLVMContext &C, unsigned AS) { - return getFP128Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getPPC_FP128PtrTy(LLVMContext &C, unsigned AS) { - return getPPC_FP128Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getX86_MMXPtrTy(LLVMContext &C, unsigned AS) { - return getX86_MMXTy(C)->getPointerTo(AS); -} - -PointerType *Type::getX86_AMXPtrTy(LLVMContext &C, unsigned AS) { - return getX86_AMXTy(C)->getPointerTo(AS); -} - -PointerType *Type::getIntNPtrTy(LLVMContext &C, unsigned N, unsigned AS) { - return getIntNTy(C, N)->getPointerTo(AS); -} - -PointerType *Type::getInt1PtrTy(LLVMContext &C, unsigned AS) { - return getInt1Ty(C)->getPointerTo(AS); -} - PointerType *Type::getInt8PtrTy(LLVMContext &C, unsigned AS) { - return getInt8Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getInt16PtrTy(LLVMContext &C, unsigned AS) { - return getInt16Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getInt32PtrTy(LLVMContext &C, unsigned AS) { - return getInt32Ty(C)->getPointerTo(AS); -} - -PointerType *Type::getInt64PtrTy(LLVMContext &C, unsigned AS) { - return getInt64Ty(C)->getPointerTo(AS); + return PointerType::get(C, AS); } Type *Type::getWasm_ExternrefTy(LLVMContext &C) {