From 64f5fedb59e82a79c0c669c3d6591ca9eadb82fb Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Tue, 22 Nov 2022 10:01:18 +0000 Subject: [PATCH] [ASTContext][NFC] Remove getTargetAddressSpace(Qualifiers Q) This simply calls getTargetAddressSpace(Q.getAddressSpace()) and there are only two callers, so adjust those caller instead. --- clang/include/clang/AST/ASTContext.h | 2 -- clang/lib/AST/ASTContext.cpp | 6 +----- clang/lib/CodeGen/CodeGenTypes.cpp | 8 ++++---- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h index 2a21f2d..6f695f0 100644 --- a/clang/include/clang/AST/ASTContext.h +++ b/clang/include/clang/AST/ASTContext.h @@ -2812,8 +2812,6 @@ public: unsigned getTargetAddressSpace(QualType T) const; - unsigned getTargetAddressSpace(Qualifiers Q) const; - unsigned getTargetAddressSpace(LangAS AS) const; LangAS getLangASForBuiltinAddressSpace(unsigned AS) const; diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index b9f9bec..e887f44 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -12234,11 +12234,7 @@ unsigned ASTContext::getTargetAddressSpace(QualType T) const { // the best address space based on the type information return T->isFunctionType() && !T.hasAddressSpace() ? getTargetInfo().getProgramAddressSpace() - : getTargetAddressSpace(T.getQualifiers()); -} - -unsigned ASTContext::getTargetAddressSpace(Qualifiers Q) const { - return getTargetAddressSpace(Q.getAddressSpace()); + : getTargetAddressSpace(T.getAddressSpace()); } unsigned ASTContext::getTargetAddressSpace(LangAS AS) const { diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp index 05956c2..3869285 100644 --- a/clang/lib/CodeGen/CodeGenTypes.cpp +++ b/clang/lib/CodeGen/CodeGenTypes.cpp @@ -772,10 +772,10 @@ llvm::Type *CodeGenTypes::ConvertType(QualType T) { // Block pointers lower to function type. For function type, // getTargetAddressSpace() returns default address space for // function pointer i.e. program address space. Therefore, for block - // pointers, it is important to pass qualifiers when calling - // getTargetAddressSpace(), to ensure that we get the address space - // for data pointers and not function pointers. - unsigned AS = Context.getTargetAddressSpace(FTy.getQualifiers()); + // pointers, it is important to pass the pointee AST address space when + // calling getTargetAddressSpace(), to ensure that we get the LLVM IR + // address space for data pointers and not function pointers. + unsigned AS = Context.getTargetAddressSpace(FTy.getAddressSpace()); ResultType = llvm::PointerType::get(PointeeType, AS); break; } -- 2.7.4