Skip to content

Commit f1718a9

Browse files
authored
[mlir][MemRefToLLVM] Fix crash with unconvertable memory space
This PR adds handling when the `memref.alloca` with unconvertable memory space to prevent a crash.
1 parent 0ca10ef commit f1718a9

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,11 @@ struct AllocaOpLowering : public AllocLikeOpLLVMLowering {
105105
auto allocaOp = cast<memref::AllocaOp>(op);
106106
auto elementType =
107107
typeConverter->convertType(allocaOp.getType().getElementType());
108-
unsigned addrSpace =
109-
*getTypeConverter()->getMemRefAddressSpace(allocaOp.getType());
108+
FailureOr<unsigned> maybeAddressSpace =
109+
getTypeConverter()->getMemRefAddressSpace(allocaOp.getType());
110+
if (failed(maybeAddressSpace))
111+
return std::make_tuple(Value(), Value());
112+
unsigned addrSpace = *maybeAddressSpace;
110113
auto elementPtrType =
111114
LLVM::LLVMPointerType::get(rewriter.getContext(), addrSpace);
112115

0 commit comments

Comments
 (0)