[clang] [CodeGen][ObjCGNU] Replace PointerType::getUnqual(Type) with opaque pointer version (NFC) (PR #128715)
Mats Jun Larsen via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 25 05:44:52 PST 2025
https://github.com/junlarsen updated https://github.com/llvm/llvm-project/pull/128715
>From e993b0d23cbb018a090f49f1f4f63c0dd0a89a66 Mon Sep 17 00:00:00 2001
From: Mats Jun Larsen <mats at jun.codes>
Date: Tue, 25 Feb 2025 14:40:11 +0100
Subject: [PATCH] [CodeGen][ObjCGNU] Replace PointerType::getUnqual(Type) with
opaque pointer version (NFC)
Follow-up to #123569
---
clang/lib/CodeGen/CGObjCGNU.cpp | 29 ++++++++++-------------------
1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp
index d1876f47c0eea..0d011d08aacf8 100644
--- a/clang/lib/CodeGen/CGObjCGNU.cpp
+++ b/clang/lib/CodeGen/CGObjCGNU.cpp
@@ -819,7 +819,7 @@ class CGObjCGNUstep : public CGObjCGNU {
const ObjCRuntime &R = CGM.getLangOpts().ObjCRuntime;
SlotStructTy = llvm::StructType::get(PtrTy, PtrTy, PtrTy, IntTy, IMPTy);
- SlotTy = llvm::PointerType::getUnqual(SlotStructTy);
+ SlotTy = PtrTy;
// Slot_t objc_msg_lookup_sender(id *receiver, SEL selector, id sender);
SlotLookupFn.init(&CGM, "objc_msg_lookup_sender", SlotTy, PtrToIdTy,
SelectorTy, IdTy);
@@ -2284,10 +2284,12 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion,
BoolTy = CGM.getTypes().ConvertType(CGM.getContext().BoolTy);
Int8Ty = llvm::Type::getInt8Ty(VMContext);
+
+ PtrTy = llvm::PointerType::getUnqual(cgm.getLLVMContext());
+ PtrToIntTy = PtrTy;
// C string type. Used in lots of places.
- PtrToInt8Ty = llvm::PointerType::getUnqual(Int8Ty);
- ProtocolPtrTy = llvm::PointerType::getUnqual(
- Types.ConvertType(CGM.getContext().getObjCProtoType()));
+ PtrToInt8Ty = PtrTy;
+ ProtocolPtrTy = PtrTy;
Zeros[0] = llvm::ConstantInt::get(LongTy, 0);
Zeros[1] = Zeros[0];
@@ -2302,9 +2304,6 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion,
SelectorElemTy = CGM.getTypes().ConvertTypeForMem(selTy->getPointeeType());
}
- PtrToIntTy = llvm::PointerType::getUnqual(IntTy);
- PtrTy = PtrToInt8Ty;
-
Int32Ty = llvm::Type::getInt32Ty(VMContext);
Int64Ty = llvm::Type::getInt64Ty(VMContext);
@@ -2323,7 +2322,7 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion,
IdTy = PtrToInt8Ty;
IdElemTy = Int8Ty;
}
- PtrToIdTy = llvm::PointerType::getUnqual(IdTy);
+ PtrToIdTy = PtrTy;
ProtocolTy = llvm::StructType::get(IdTy,
PtrToInt8Ty, // name
PtrToInt8Ty, // protocols
@@ -2351,7 +2350,7 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion,
PtrToInt8Ty, PtrToInt8Ty });
ObjCSuperTy = llvm::StructType::get(IdTy, IdTy);
- PtrToObjCSuperTy = llvm::PointerType::getUnqual(ObjCSuperTy);
+ PtrToObjCSuperTy = PtrTy;
llvm::Type *VoidTy = llvm::Type::getVoidTy(VMContext);
@@ -2383,9 +2382,7 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion,
PtrDiffTy, BoolTy, BoolTy);
// IMP type
- llvm::Type *IMPArgs[] = { IdTy, SelectorTy };
- IMPTy = llvm::PointerType::getUnqual(llvm::FunctionType::get(IdTy, IMPArgs,
- true));
+ IMPTy = PtrTy;
const LangOptions &Opts = CGM.getLangOpts();
if ((Opts.getGC() != LangOptions::NonGC) || Opts.ObjCAutoRefCount)
@@ -2679,8 +2676,6 @@ CGObjCGNU::GenerateMessageSendSuper(CodeGenFunction &CGF,
Class->getSuperClass()->getNameAsString(), /*isWeak*/false);
if (IsClassMessage) {
// Load the isa pointer of the superclass is this is a class method.
- ReceiverClass = Builder.CreateBitCast(ReceiverClass,
- llvm::PointerType::getUnqual(IdTy));
ReceiverClass =
Builder.CreateAlignedLoad(IdTy, ReceiverClass, CGF.getPointerAlign());
}
@@ -2721,8 +2716,6 @@ CGObjCGNU::GenerateMessageSendSuper(CodeGenFunction &CGF,
}
// Cast the pointer to a simplified version of the class structure
llvm::Type *CastTy = llvm::StructType::get(IdTy, IdTy);
- ReceiverClass = Builder.CreateBitCast(ReceiverClass,
- llvm::PointerType::getUnqual(CastTy));
// Get the superclass pointer
ReceiverClass = Builder.CreateStructGEP(CastTy, ReceiverClass, 1);
// Load the superclass pointer
@@ -3270,9 +3263,7 @@ CGObjCGNU::GenerateProtocolList(ArrayRef<std::string> Protocols) {
llvm::Value *CGObjCGNU::GenerateProtocolRef(CodeGenFunction &CGF,
const ObjCProtocolDecl *PD) {
auto protocol = GenerateProtocolRef(PD);
- llvm::Type *T =
- CGM.getTypes().ConvertType(CGM.getContext().getObjCProtoType());
- return CGF.Builder.CreateBitCast(protocol, llvm::PointerType::getUnqual(T));
+ return CGF.Builder.CreateBitCast(protocol, PtrTy);
}
llvm::Constant *CGObjCGNU::GenerateProtocolRef(const ObjCProtocolDecl *PD) {
More information about the cfe-commits
mailing list