Skip to content

Commit 4746ca9

Browse files
authored
[Backend] Reject volatile TMA load in LLVM codegen (#5568)
This isn't supported by the lowering, so reject it properly. Also, switch from using asserts to emitting an MLIR error.
1 parent 015bfe5 commit 4746ca9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

third_party/nvidia/lib/TritonNVIDIAGPUToLLVM/LoadStoreOpToLLVM.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,10 +1082,13 @@ struct AsyncTMACopyGlobalToLocalOpConversion
10821082
matchAndRewrite(triton::nvidia_gpu::AsyncTMACopyGlobalToLocalOp op,
10831083
OpAdaptor adaptor,
10841084
ConversionPatternRewriter &rewriter) const override {
1085-
assert(op.getCache() == triton::CacheModifier::NONE &&
1086-
"cache modifiers not supported yet.");
1087-
assert(op.getEvict() == triton::EvictionPolicy::NORMAL &&
1088-
"eviction policy not supported yet.");
1085+
if (op.getCache() != triton::CacheModifier::NONE)
1086+
return op.emitError("cache modifiers not supported yet");
1087+
if (op.getEvict() != triton::EvictionPolicy::NORMAL)
1088+
return op.emitError("eviction policy not supported yet");
1089+
if (op.getIsVolatile())
1090+
return op.emitError("volatile not supported yet");
1091+
10891092
auto loc = op.getLoc();
10901093
Type llvmElemTy =
10911094
typeConverter->convertType(op.getResult().getType().getElementType());

0 commit comments

Comments
 (0)