diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp index 67db961e60fa3..fa8af68817dfc 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp @@ -624,7 +624,7 @@ bool StoreFatPtrsAsIntsAndExpandMemcpyVisitor::visitMemMoveInst( if (MMI.getSourceAddressSpace() != AMDGPUAS::BUFFER_FAT_POINTER && MMI.getDestAddressSpace() != AMDGPUAS::BUFFER_FAT_POINTER) return false; - report_fatal_error( + reportFatalUsageError( "memmove() on buffer descriptors is not implemented because pointer " "comparison on buffer descriptors isn't implemented\n"); } @@ -738,10 +738,10 @@ Type *LegalizeBufferContentTypesVisitor::scalarArrayTypeAsVector(Type *T) { return T; Type *ET = AT->getElementType(); if (!ET->isSingleValueType() || isa(ET)) - report_fatal_error("loading non-scalar arrays from buffer fat pointers " - "should have recursed"); + reportFatalUsageError("loading non-scalar arrays from buffer fat pointers " + "should have recursed"); if (!DL.typeSizeEqualsStoreSize(AT)) - report_fatal_error( + reportFatalUsageError( "loading padded arrays from buffer fat pinters should have recursed"); return FixedVectorType::get(ET, AT->getNumElements()); } @@ -1259,12 +1259,13 @@ Constant *FatPtrConstMaterializer::materializeBufferFatPtrConst(Constant *C) { } if (isa(C)) - report_fatal_error("Global values containing ptr addrspace(7) (buffer " - "fat pointer) values are not supported"); + reportFatalUsageError("global values containing ptr addrspace(7) (buffer " + "fat pointer) values are not supported"); if (isa(C)) - report_fatal_error("Constant exprs containing ptr addrspace(7) (buffer " - "fat pointer) values should have been expanded earlier"); + reportFatalUsageError( + "constant exprs containing ptr addrspace(7) (buffer " + "fat pointer) values should have been expanded earlier"); return nullptr; } @@ -1744,28 +1745,32 @@ Value *SplitPtrStructs::handleMemoryInst(Instruction *I, Value *Arg, Value *Ptr, IID = Intrinsic::amdgcn_raw_ptr_buffer_atomic_fmin; break; case AtomicRMWInst::FSub: { - report_fatal_error("atomic floating point subtraction not supported for " - "buffer resources and should've been expanded away"); + reportFatalUsageError( + "atomic floating point subtraction not supported for " + "buffer resources and should've been expanded away"); break; } case AtomicRMWInst::FMaximum: { - report_fatal_error("atomic floating point fmaximum not supported for " - "buffer resources and should've been expanded away"); + reportFatalUsageError( + "atomic floating point fmaximum not supported for " + "buffer resources and should've been expanded away"); break; } case AtomicRMWInst::FMinimum: { - report_fatal_error("atomic floating point fminimum not supported for " - "buffer resources and should've been expanded away"); + reportFatalUsageError( + "atomic floating point fminimum not supported for " + "buffer resources and should've been expanded away"); break; } case AtomicRMWInst::Nand: - report_fatal_error("atomic nand not supported for buffer resources and " - "should've been expanded away"); + reportFatalUsageError( + "atomic nand not supported for buffer resources and " + "should've been expanded away"); break; case AtomicRMWInst::UIncWrap: case AtomicRMWInst::UDecWrap: - report_fatal_error("wrapping increment/decrement not supported for " - "buffer resources and should've ben expanded away"); + reportFatalUsageError("wrapping increment/decrement not supported for " + "buffer resources and should've ben expanded away"); break; case AtomicRMWInst::BAD_BINOP: llvm_unreachable("Not sure how we got a bad binop"); @@ -2019,7 +2024,7 @@ PtrParts SplitPtrStructs::visitAddrSpaceCastInst(AddrSpaceCastInst &I) { } if (I.getSrcAddressSpace() != AMDGPUAS::BUFFER_RESOURCE) - report_fatal_error( + reportFatalUsageError( "only buffer resources (addrspace 8) and null/poison pointers can be " "cast to buffer fat pointers (addrspace 7)"); SplitUsers.insert(&I); @@ -2225,8 +2230,8 @@ PtrParts SplitPtrStructs::visitIntrinsicInst(IntrinsicInst &I) { IRB.SetInsertPoint(&I); auto [Rsrc, Off] = getPtrParts(Ptr); if (Mask->getType() != Off->getType()) - report_fatal_error("offset width is not equal to index width of fat " - "pointer (data layout not set up correctly?)"); + reportFatalUsageError("offset width is not equal to index width of fat " + "pointer (data layout not set up correctly?)"); Value *OffRes = IRB.CreateAnd(Off, Mask, I.getName() + ".off"); copyMetadata(OffRes, &I); SplitUsers.insert(&I);