Skip to content

Commit 8e00d59

Browse files
committed
[clang] Remove redundant ptr-to-ptr bitcasts (NFC)
Remove redundant bitcasts performed on instances of `llvm::GlobalVariable`, which are pointers. Opaque pointer cleanup effort. NFC.
1 parent a12d057 commit 8e00d59

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

clang/lib/CodeGen/CGCUDANV.cpp

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ llvm::Function *CGNVCUDARuntime::makeRegisterGlobalsFn() {
556556
llvm::Constant *NullPtr = llvm::ConstantPointerNull::get(VoidPtrTy);
557557
llvm::Value *Args[] = {
558558
&GpuBinaryHandlePtr,
559-
Builder.CreateBitCast(KernelHandles[I.Kernel->getName()], VoidPtrTy),
559+
KernelHandles[I.Kernel->getName()],
560560
KernelName,
561561
KernelName,
562562
llvm::ConstantInt::get(IntTy, -1),
@@ -631,8 +631,8 @@ llvm::Function *CGNVCUDARuntime::makeRegisterGlobalsFn() {
631631
replaceManagedVar(Var, ManagedVar);
632632
llvm::Value *Args[] = {
633633
&GpuBinaryHandlePtr,
634-
Builder.CreateBitCast(ManagedVar, VoidPtrTy),
635-
Builder.CreateBitCast(Var, VoidPtrTy),
634+
ManagedVar,
635+
Var,
636636
VarName,
637637
llvm::ConstantInt::get(VarSizeTy, VarSize),
638638
llvm::ConstantInt::get(IntTy, Var->getAlignment())};
@@ -641,7 +641,7 @@ llvm::Function *CGNVCUDARuntime::makeRegisterGlobalsFn() {
641641
} else {
642642
llvm::Value *Args[] = {
643643
&GpuBinaryHandlePtr,
644-
Builder.CreateBitCast(Var, VoidPtrTy),
644+
Var,
645645
VarName,
646646
VarName,
647647
llvm::ConstantInt::get(IntTy, Info.Flags.isExtern()),
@@ -655,15 +655,15 @@ llvm::Function *CGNVCUDARuntime::makeRegisterGlobalsFn() {
655655
case DeviceVarFlags::Surface:
656656
Builder.CreateCall(
657657
RegisterSurf,
658-
{&GpuBinaryHandlePtr, Builder.CreateBitCast(Var, VoidPtrTy), VarName,
659-
VarName, llvm::ConstantInt::get(IntTy, Info.Flags.getSurfTexType()),
658+
{&GpuBinaryHandlePtr, Var, VarName, VarName,
659+
llvm::ConstantInt::get(IntTy, Info.Flags.getSurfTexType()),
660660
llvm::ConstantInt::get(IntTy, Info.Flags.isExtern())});
661661
break;
662662
case DeviceVarFlags::Texture:
663663
Builder.CreateCall(
664664
RegisterTex,
665-
{&GpuBinaryHandlePtr, Builder.CreateBitCast(Var, VoidPtrTy), VarName,
666-
VarName, llvm::ConstantInt::get(IntTy, Info.Flags.getSurfTexType()),
665+
{&GpuBinaryHandlePtr, Var, VarName, VarName,
666+
llvm::ConstantInt::get(IntTy, Info.Flags.getSurfTexType()),
667667
llvm::ConstantInt::get(IntTy, Info.Flags.isNormalized()),
668668
llvm::ConstantInt::get(IntTy, Info.Flags.isExtern())});
669669
break;
@@ -860,9 +860,8 @@ llvm::Function *CGNVCUDARuntime::makeModuleCtorFunction() {
860860
{
861861
CtorBuilder.SetInsertPoint(IfBlock);
862862
// GpuBinaryHandle = __hipRegisterFatBinary(&FatbinWrapper);
863-
llvm::CallInst *RegisterFatbinCall = CtorBuilder.CreateCall(
864-
RegisterFatbinFunc,
865-
CtorBuilder.CreateBitCast(FatbinWrapper, VoidPtrTy));
863+
llvm::CallInst *RegisterFatbinCall =
864+
CtorBuilder.CreateCall(RegisterFatbinFunc, FatbinWrapper);
866865
CtorBuilder.CreateStore(RegisterFatbinCall, GpuBinaryAddr);
867866
CtorBuilder.CreateBr(ExitBlock);
868867
}
@@ -878,9 +877,8 @@ llvm::Function *CGNVCUDARuntime::makeModuleCtorFunction() {
878877
// Register binary with CUDA runtime. This is substantially different in
879878
// default mode vs. separate compilation!
880879
// GpuBinaryHandle = __cudaRegisterFatBinary(&FatbinWrapper);
881-
llvm::CallInst *RegisterFatbinCall = CtorBuilder.CreateCall(
882-
RegisterFatbinFunc,
883-
CtorBuilder.CreateBitCast(FatbinWrapper, VoidPtrTy));
880+
llvm::CallInst *RegisterFatbinCall =
881+
CtorBuilder.CreateCall(RegisterFatbinFunc, FatbinWrapper);
884882
GpuBinaryHandle = new llvm::GlobalVariable(
885883
TheModule, VoidPtrPtrTy, false, llvm::GlobalValue::InternalLinkage,
886884
llvm::ConstantPointerNull::get(VoidPtrPtrTy), "__cuda_gpubin_handle");
@@ -921,9 +919,7 @@ llvm::Function *CGNVCUDARuntime::makeModuleCtorFunction() {
921919
getRegisterLinkedBinaryFnTy(), RegisterLinkedBinaryName);
922920

923921
assert(RegisterGlobalsFunc && "Expecting at least dummy function!");
924-
llvm::Value *Args[] = {RegisterGlobalsFunc,
925-
CtorBuilder.CreateBitCast(FatbinWrapper, VoidPtrTy),
926-
ModuleIDConstant,
922+
llvm::Value *Args[] = {RegisterGlobalsFunc, FatbinWrapper, ModuleIDConstant,
927923
makeDummyFunction(getCallbackFnTy())};
928924
CtorBuilder.CreateCall(RegisterLinkedBinaryFunc, Args);
929925
}

0 commit comments

Comments
 (0)