Skip to content

Commit 0fa0c3c

Browse files
authored
AMDGPU: Use reportFatalUsageError in AMDGPULowerBufferFatPointers (#145132)
1 parent 981f8e1 commit 0fa0c3c

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ bool StoreFatPtrsAsIntsAndExpandMemcpyVisitor::visitMemMoveInst(
624624
if (MMI.getSourceAddressSpace() != AMDGPUAS::BUFFER_FAT_POINTER &&
625625
MMI.getDestAddressSpace() != AMDGPUAS::BUFFER_FAT_POINTER)
626626
return false;
627-
report_fatal_error(
627+
reportFatalUsageError(
628628
"memmove() on buffer descriptors is not implemented because pointer "
629629
"comparison on buffer descriptors isn't implemented\n");
630630
}
@@ -738,10 +738,10 @@ Type *LegalizeBufferContentTypesVisitor::scalarArrayTypeAsVector(Type *T) {
738738
return T;
739739
Type *ET = AT->getElementType();
740740
if (!ET->isSingleValueType() || isa<VectorType>(ET))
741-
report_fatal_error("loading non-scalar arrays from buffer fat pointers "
742-
"should have recursed");
741+
reportFatalUsageError("loading non-scalar arrays from buffer fat pointers "
742+
"should have recursed");
743743
if (!DL.typeSizeEqualsStoreSize(AT))
744-
report_fatal_error(
744+
reportFatalUsageError(
745745
"loading padded arrays from buffer fat pinters should have recursed");
746746
return FixedVectorType::get(ET, AT->getNumElements());
747747
}
@@ -1259,12 +1259,13 @@ Constant *FatPtrConstMaterializer::materializeBufferFatPtrConst(Constant *C) {
12591259
}
12601260

12611261
if (isa<GlobalValue>(C))
1262-
report_fatal_error("Global values containing ptr addrspace(7) (buffer "
1263-
"fat pointer) values are not supported");
1262+
reportFatalUsageError("global values containing ptr addrspace(7) (buffer "
1263+
"fat pointer) values are not supported");
12641264

12651265
if (isa<ConstantExpr>(C))
1266-
report_fatal_error("Constant exprs containing ptr addrspace(7) (buffer "
1267-
"fat pointer) values should have been expanded earlier");
1266+
reportFatalUsageError(
1267+
"constant exprs containing ptr addrspace(7) (buffer "
1268+
"fat pointer) values should have been expanded earlier");
12681269

12691270
return nullptr;
12701271
}
@@ -1744,28 +1745,32 @@ Value *SplitPtrStructs::handleMemoryInst(Instruction *I, Value *Arg, Value *Ptr,
17441745
IID = Intrinsic::amdgcn_raw_ptr_buffer_atomic_fmin;
17451746
break;
17461747
case AtomicRMWInst::FSub: {
1747-
report_fatal_error("atomic floating point subtraction not supported for "
1748-
"buffer resources and should've been expanded away");
1748+
reportFatalUsageError(
1749+
"atomic floating point subtraction not supported for "
1750+
"buffer resources and should've been expanded away");
17491751
break;
17501752
}
17511753
case AtomicRMWInst::FMaximum: {
1752-
report_fatal_error("atomic floating point fmaximum not supported for "
1753-
"buffer resources and should've been expanded away");
1754+
reportFatalUsageError(
1755+
"atomic floating point fmaximum not supported for "
1756+
"buffer resources and should've been expanded away");
17541757
break;
17551758
}
17561759
case AtomicRMWInst::FMinimum: {
1757-
report_fatal_error("atomic floating point fminimum not supported for "
1758-
"buffer resources and should've been expanded away");
1760+
reportFatalUsageError(
1761+
"atomic floating point fminimum not supported for "
1762+
"buffer resources and should've been expanded away");
17591763
break;
17601764
}
17611765
case AtomicRMWInst::Nand:
1762-
report_fatal_error("atomic nand not supported for buffer resources and "
1763-
"should've been expanded away");
1766+
reportFatalUsageError(
1767+
"atomic nand not supported for buffer resources and "
1768+
"should've been expanded away");
17641769
break;
17651770
case AtomicRMWInst::UIncWrap:
17661771
case AtomicRMWInst::UDecWrap:
1767-
report_fatal_error("wrapping increment/decrement not supported for "
1768-
"buffer resources and should've ben expanded away");
1772+
reportFatalUsageError("wrapping increment/decrement not supported for "
1773+
"buffer resources and should've ben expanded away");
17691774
break;
17701775
case AtomicRMWInst::BAD_BINOP:
17711776
llvm_unreachable("Not sure how we got a bad binop");
@@ -2019,7 +2024,7 @@ PtrParts SplitPtrStructs::visitAddrSpaceCastInst(AddrSpaceCastInst &I) {
20192024
}
20202025

20212026
if (I.getSrcAddressSpace() != AMDGPUAS::BUFFER_RESOURCE)
2022-
report_fatal_error(
2027+
reportFatalUsageError(
20232028
"only buffer resources (addrspace 8) and null/poison pointers can be "
20242029
"cast to buffer fat pointers (addrspace 7)");
20252030
SplitUsers.insert(&I);
@@ -2225,8 +2230,8 @@ PtrParts SplitPtrStructs::visitIntrinsicInst(IntrinsicInst &I) {
22252230
IRB.SetInsertPoint(&I);
22262231
auto [Rsrc, Off] = getPtrParts(Ptr);
22272232
if (Mask->getType() != Off->getType())
2228-
report_fatal_error("offset width is not equal to index width of fat "
2229-
"pointer (data layout not set up correctly?)");
2233+
reportFatalUsageError("offset width is not equal to index width of fat "
2234+
"pointer (data layout not set up correctly?)");
22302235
Value *OffRes = IRB.CreateAnd(Off, Mask, I.getName() + ".off");
22312236
copyMetadata(OffRes, &I);
22322237
SplitUsers.insert(&I);

0 commit comments

Comments
 (0)