diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index e06b430b3d287..6e99fb133e26a 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -6188,8 +6188,6 @@ bool CodeGenPrepare::splitLargeGEPOffsets() { // Generate a new GEP to replace the current one. LLVMContext &Ctx = GEP->getContext(); Type *PtrIdxTy = DL->getIndexType(GEP->getType()); - Type *I8PtrTy = - PointerType::get(Ctx, GEP->getType()->getPointerAddressSpace()); Type *I8Ty = Type::getInt8Ty(Ctx); if (!NewBaseGEP) { @@ -6200,16 +6198,10 @@ bool CodeGenPrepare::splitLargeGEPOffsets() { IRBuilder<> Builder(GEP); Value *NewGEP = NewBaseGEP; - if (Offset == BaseOffset) { - if (GEP->getType() != I8PtrTy) - NewGEP = Builder.CreatePointerCast(NewGEP, GEP->getType()); - } else { + if (Offset != BaseOffset) { // Calculate the new offset for the new GEP. Value *Index = ConstantInt::get(PtrIdxTy, Offset - BaseOffset); NewGEP = Builder.CreateGEP(I8Ty, NewBaseGEP, Index); - - if (GEP->getType() != I8PtrTy) - NewGEP = Builder.CreatePointerCast(NewGEP, GEP->getType()); } replaceAllUsesWith(GEP, NewGEP, FreshBBs, IsHugeFunc); LargeOffsetGEPID.erase(GEP); diff --git a/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp b/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp index 5c66fd2b180f7..0c21382e5c225 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp @@ -562,11 +562,10 @@ bool AMDGPULibCalls::fold_read_write_pipe(CallInst *CI, IRBuilder<> &B, if (!F) return false; - auto *BCast = B.CreatePointerCast(PtrArg, PtrTy); SmallVector Args; for (unsigned I = 0; I != PtrArgLoc; ++I) Args.push_back(CI->getArgOperand(I)); - Args.push_back(BCast); + Args.push_back(PtrArg); auto *NCI = B.CreateCall(F, Args); NCI->setAttributes(CI->getAttributes()); diff --git a/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp b/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp index e3b03e981202e..591a76e6fd6cc 100644 --- a/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp +++ b/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp @@ -184,9 +184,7 @@ Value *X86LowerAMXIntrinsics::createTileLoadStoreLoops( Value *CurrentColZExt = B.CreateZExt(CurrentCol, Stride->getType()); Value *Offset = B.CreateAdd(B.CreateMul(CurrentRowZExt, Stride), CurrentColZExt); - unsigned AS = cast(Ptr->getType())->getAddressSpace(); - Value *EltBasePtr = B.CreatePointerCast(Ptr, PointerType::get(EltTy, AS)); - Value *EltPtr = B.CreateGEP(EltTy, EltBasePtr, Offset); + Value *EltPtr = B.CreateGEP(EltTy, Ptr, Offset); Value *Idx = B.CreateAdd(B.CreateMul(CurrentRow, B.getInt16(16)), CurrentCol); if (IsTileLoad) { // tileload.scalarize.rows.header: