AMDGPU: Don't need pointer bitcasts in AMDGPURewriteOutArguments
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 29 Apr 2023 14:18:34 +0000 (10:18 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 29 Apr 2023 14:35:06 +0000 (10:35 -0400)
llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp

index 3ff3546f4f92d18760cabe04278213466b87ca48..9205770c8ead0fcf9d7b59bcb8636b0c92ef2357 100644 (file)
@@ -377,19 +377,12 @@ bool AMDGPURewriteOutArguments::runOnFunction(Function &F) {
     if (!OutArgIndexes.count(Arg.getArgNo()))
       continue;
 
-    PointerType *ArgType = cast<PointerType>(Arg.getType());
-
     Type *EltTy = OutArgIndexes[Arg.getArgNo()];
     const auto Align =
         DL->getValueOrABITypeAlignment(Arg.getParamAlign(), EltTy);
 
     Value *Val = B.CreateExtractValue(StubCall, RetIdx++);
-    Type *PtrTy = Val->getType()->getPointerTo(ArgType->getAddressSpace());
-
-    // We can peek through bitcasts, so the type may not match.
-    Value *PtrVal = B.CreateBitCast(&Arg, PtrTy);
-
-    B.CreateAlignedStore(Val, PtrVal, Align);
+    B.CreateAlignedStore(Val, &Arg, Align);
   }
 
   if (!RetTy->isVoidTy()) {